mybatis中BigDecimal中的0存為null的坑及解決
mybatis中BigDecimal的0存為null的坑
問(wèn)題點(diǎn)
做mybatis的插入和修改操作時(shí),java中類(lèi)型為Bigdicemal時(shí),且值為0時(shí),存入到數(shù)據(jù)庫(kù)中的值為null,而不是0,其它的非0值正常
部分代碼如下:

有問(wèn)題的屬性

可以看到是 Begdecimal 類(lèi)型,對(duì)應(yīng)查出來(lái)的日志如下:
可以看到,插入時(shí)存的是0, 但是入口后進(jìn)行查詢(xún)變成了null

最終修改方法
把 去掉bigDecimalNum !=''后正常

經(jīng)過(guò)查詢(xún)得出結(jié)論
mybatis中的類(lèi)型判斷是弱類(lèi)型,而不是java中的強(qiáng)類(lèi)型。
mybatis會(huì)自動(dòng)把BigDecimal類(lèi)型轉(zhuǎn)為string,即0變?yōu)閚ull啦
同樣的,Integer 類(lèi)型如果這樣判斷也會(huì)有這個(gè)問(wèn)題
最后
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
一文帶你了解Java萬(wàn)物之基之Object類(lèi)
Java是一門(mén)天然的面向?qū)ο蟮恼Z(yǔ)言。而所有我們手動(dòng)創(chuàng)造出來(lái)的類(lèi),都繼承于同一個(gè)類(lèi),即Object類(lèi)。本文將通過(guò)示例為大家詳細(xì)介紹一下Java中的Object類(lèi),需要的可以參考一下2022-03-03
Spring事務(wù)的本質(zhì)就是對(duì)數(shù)據(jù)庫(kù)事務(wù)的支持,沒(méi)有數(shù)據(jù)庫(kù)事務(wù),Spring是無(wú)法提供事務(wù)功能的。Spring只提供統(tǒng)一的事務(wù)管理接口,具體實(shí)現(xiàn)都是由數(shù)據(jù)庫(kù)自己實(shí)現(xiàn)的,Spring會(huì)在事務(wù)開(kāi)始時(shí),根據(jù)當(dāng)前設(shè)置的隔離級(jí)別,調(diào)整數(shù)據(jù)庫(kù)的隔離級(jí)別,由此保持一致2022-04-04
解決IDEA占用C盤(pán)空間過(guò)大的問(wèn)題
這篇文章主要介紹了解決IDEA占用C盤(pán)空間過(guò)大的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02

