mybatis中BigDecimal中的0存為null的坑及解決
更新時間:2024年10月28日 09:05:27 作者:yuyue_999
在使用MyBatis進行數(shù)據(jù)庫操作時,若Java中屬性類型為BigDecimal且值為0,插入數(shù)據(jù)庫時可能會變?yōu)閚ull,而不是0,這個問題可能是由于MyBatis在處理BigDecimal類型時的弱類型判斷導致的,當BigDecimal變量與空字符串進行比較時,MyBatis可能將其視為null
mybatis中BigDecimal的0存為null的坑
問題點
做mybatis的插入和修改操作時,java中類型為Bigdicemal時,且值為0時,存入到數(shù)據(jù)庫中的值為null,而不是0,其它的非0值正常
部分代碼如下:

有問題的屬性

可以看到是 Begdecimal 類型,對應查出來的日志如下:
可以看到,插入時存的是0, 但是入口后進行查詢變成了null

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

經(jīng)過查詢得出結論
mybatis中的類型判斷是弱類型,而不是java中的強類型。
mybatis會自動把BigDecimal類型轉為string,即0變?yōu)閚ull啦
同樣的,Integer 類型如果這樣判斷也會有這個問題
最后
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
HashMap原理的深入理解
這篇文章主要介紹了對HashMap原理的理解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
2019-04-04
Spring中讀取配置文件的五種方式
在使用spring或springboot項目開發(fā)中,難免會涉及到讀取配置文件的各種配置參數(shù)的情況,因為當項目的規(guī)模上去之后,在單個配置文件中維護所有的配置信息很難滿足實際的需要,所以本文給大家介紹了Spring讀取配置文件多種方式,需要的朋友可以參考下
2024-04-04
mybatis返回結果為Map問題
這篇文章主要介紹了mybatis返回結果為Map問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
2025-04-04
Java Redis Redisson配置教程詳解
這篇文章主要介紹了Java Redis Redisson配置教程,包括Session共享配置及其他Redisson的Config配置方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
2022-08-08
一文帶你了解Java萬物之基之Object類
Java是一門天然的面向對象的語言。而所有我們手動創(chuàng)造出來的類,都繼承于同一個類,即Object類。本文將通過示例為大家詳細介紹一下Java中的Object類,需要的可以參考一下
2022-03-03
JPA與mybatis-plus不兼容問題的解決
本文主要介紹了JPA與mybatis-plus不兼容問題的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
2023-02-02
Spring詳細解讀事務管理
Spring事務的本質(zhì)就是對數(shù)據(jù)庫事務的支持,沒有數(shù)據(jù)庫事務,Spring是無法提供事務功能的。Spring只提供統(tǒng)一的事務管理接口,具體實現(xiàn)都是由數(shù)據(jù)庫自己實現(xiàn)的,Spring會在事務開始時,根據(jù)當前設置的隔離級別,調(diào)整數(shù)據(jù)庫的隔離級別,由此保持一致
2022-04-04
java遍歷properties文件操作指南
在java項目開發(fā)過程中,使用properties文件作為配置基本上是必不可少的,有很多如系統(tǒng)配置信息,java如何遍歷properties文件呢,本文將詳細介紹,希望可以幫助到您
2012-11-11
解決IDEA占用C盤空間過大的問題
這篇文章主要介紹了解決IDEA占用C盤空間過大的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
2021-02-02