第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

價格為什么不都使用BigDecimal?

此處和前面涉及價格的地方,Dao層和庫里的類型是Double,Service和Controller層是BigDecimal,為什么不全都用BigDecimal?從庫中取出到Dao層Double不會丟精嗎?

正在回答

3 回答

老師想都用BigDecimal的,奈何數據庫不支持啊。Service和Controller層是可控的,自己寫的Model類,當然用BigDecimal了。Dao層類是mybatis-generator插件生成的,沒法用BigDecimal,因為Mysql數據庫沒有這個數據類型。當然你可以認為Mysql的Decimal可以和Java的BigDecimal一致,問題是,mybatis-generator把Mysql的Decimal生成了Long類型,明顯不適合做價格字段。

1 回復 有任何疑惑可以回復我~
#1

浪潮之巔 提問者

嗯嗯 ,你這一說想起來了,生成的字段是Long的。多謝
2018-12-26 回復 有任何疑惑可以回復我~
#2

慕妹5204827 回復 浪潮之巔 提問者

那為什么不都設置成double呢
2018-12-26 回復 有任何疑惑可以回復我~
#3

浪潮之巔 提問者 回復 慕妹5204827

double運算會丟精,不準確。
2018-12-27 回復 有任何疑惑可以回復我~

一般人民幣單位都是分?。。。。。。∮肔ong 不會有精度的問題,用String 也可以~

0 回復 有任何疑惑可以回復我~

因為老師數據庫decimal(10,0)這樣寫的,所以生成實體類是Long。

如果數據庫設計為這樣:?

`price` decimal(10,2) DEFAULT NULL,

生成實體類會是

private?BigDecimal?price;

不是mybatis自動生成代碼的鍋。

2 回復 有任何疑惑可以回復我~
#1

龍蝦三少

哈哈,是的,我也發(fā)現這個問題了,不過金額類的字斷強烈建議定義成long用分表示,這樣可以在用java代碼過程中自己封裝Money類,避免很多精度錯誤造成的資損問題
2018-12-26 回復 有任何疑惑可以回復我~
#2

李鑫鑫lxx 回復 龍蝦三少

為啥用 long ??? 不太明白
2019-01-02 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

價格為什么不都使用BigDecimal?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號