mybatis中BigDecimal中的0存為null的坑及解決
mybatis中BigDecimal的0存為null的坑
問題點(diǎn)
做mybatis的插入和修改操作時(shí),java中類型為Bigdicemal時(shí),且值為0時(shí),存入到數(shù)據(jù)庫(kù)中的值為null,而不是0,其它的非0值正常
部分代碼如下:
有問題的屬性
可以看到是 Begdecimal 類型,對(duì)應(yīng)查出來的日志如下:
可以看到,插入時(shí)存的是0, 但是入口后進(jìn)行查詢變成了null
最終修改方法
把 去掉bigDecimalNum !=''后正常
經(jīng)過查詢得出結(jié)論
mybatis中的類型判斷是弱類型,而不是java中的強(qiáng)類型。
mybatis會(huì)自動(dòng)把BigDecimal類型轉(zhuǎn)為string,即0變?yōu)閚ull啦
同樣的,Integer
類型如果這樣判斷也會(huì)有這個(gè)問題
最后
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)異步回調(diào)返回給前端的方法示例
在Java中實(shí)現(xiàn)異步回調(diào)并將結(jié)果返回給前端,通常是在Web應(yīng)用開發(fā)中處理耗時(shí)操作時(shí)所采用的技術(shù)手段,以避免阻塞HTTP請(qǐng)求線程并提高用戶體驗(yàn),本文就來介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下2024-03-03Java創(chuàng)建線程的七種方法總結(jié)(全網(wǎng)最全面)
線程是Java中的基本執(zhí)行單元,它允許程序在同一時(shí)間執(zhí)行多個(gè)任務(wù),下面這篇文章主要給大家總結(jié)介紹了關(guān)于Java創(chuàng)建線程的七種方法,文中通過實(shí)例代碼將這七種方法介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05java操作mongodb之多表聯(lián)查的實(shí)現(xiàn)($lookup)
這篇文章主要介紹了java操作mongodb之多表聯(lián)查的實(shí)現(xiàn)($lookup),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03SpringBoot實(shí)現(xiàn)登錄攔截器超詳細(xì)教程分享
對(duì)于管理系統(tǒng)或其他需要用戶登錄的系統(tǒng),登錄驗(yàn)證都是必不可少的環(huán)節(jié),尤其在?SpringBoot?開發(fā)的項(xiàng)目中。本文為大家準(zhǔn)備了超詳細(xì)的SpringBoot實(shí)現(xiàn)登錄攔截器方法,快收藏一波吧2023-02-02Struts2之Action接收請(qǐng)求參數(shù)和攔截器詳解
這篇文章主要介紹了Struts2之Action接收請(qǐng)求參數(shù)和攔截器詳解,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05PowerJob的DesignateServer工作流程源碼解讀
這篇文章主要介紹了PowerJob的DesignateServer工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01