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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

價(jià)格為什么不都使用BigDecimal?

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

正在回答

3 回答

老師想都用BigDecimal的,奈何數(shù)據(jù)庫不支持啊。Service和Controller層是可控的,自己寫的Model類,當(dāng)然用BigDecimal了。Dao層類是mybatis-generator插件生成的,沒法用BigDecimal,因?yàn)镸ysql數(shù)據(jù)庫沒有這個(gè)數(shù)據(jù)類型。當(dāng)然你可以認(rèn)為Mysql的Decimal可以和Java的BigDecimal一致,問題是,mybatis-generator把Mysql的Decimal生成了Long類型,明顯不適合做價(jià)格字段。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

浪潮之巔 提問者

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

慕妹5204827 回復(fù) 浪潮之巔 提問者

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

浪潮之巔 提問者 回復(fù) 慕妹5204827

double運(yùn)算會(huì)丟精,不準(zhǔn)確。
2018-12-27 回復(fù) 有任何疑惑可以回復(fù)我~

一般人民幣單位都是分?。。。。。?!用Long 不會(huì)有精度的問題,用String 也可以~

0 回復(fù) 有任何疑惑可以回復(fù)我~

因?yàn)槔蠋煍?shù)據(jù)庫decimal(10,0)這樣寫的,所以生成實(shí)體類是Long。

如果數(shù)據(jù)庫設(shè)計(jì)為這樣:?

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

生成實(shí)體類會(huì)是

private?BigDecimal?price;

不是mybatis自動(dòng)生成代碼的鍋。

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

龍蝦三少

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

李鑫鑫lxx 回復(fù) 龍蝦三少

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

舉報(bào)

0/150
提交
取消

價(jià)格為什么不都使用BigDecimal?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)