價(jià)格為什么不都使用BigDecimal?
此處和前面涉及價(jià)格的地方,Dao層和庫里的類型是Double,Service和Controller層是BigDecimal,為什么不全都用BigDecimal?從庫中取出到Dao層Double不會(huì)丟精嗎?
此處和前面涉及價(jià)格的地方,Dao層和庫里的類型是Double,Service和Controller層是BigDecimal,為什么不全都用BigDecimal?從庫中取出到Dao層Double不會(huì)丟精嗎?
2018-12-25
舉報(bào)
2018-12-25
老師想都用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à)格字段。
2019-01-02
一般人民幣單位都是分?。。。。。?!用Long 不會(huì)有精度的問題,用String 也可以~
2018-12-26
因?yàn)槔蠋煍?shù)據(jù)庫decimal(10,0)這樣寫的,所以生成實(shí)體類是Long。
如果數(shù)據(jù)庫設(shè)計(jì)為這樣:?
`price` decimal(10,2) DEFAULT NULL,
生成實(shí)體類會(huì)是
不是mybatis自動(dòng)生成代碼的鍋。