最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

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

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

正在回答

3 回答

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

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

浪潮之巔 提問(wèn)者

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

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

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

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

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

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

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

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

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

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

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

private?BigDecimal?price;

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

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

龍蝦三少

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

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

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

舉報(bào)

0/150
提交
取消

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

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

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

幫助反饋 APP下載

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

公眾號(hào)

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