mybatis查詢字段為null設(shè)置為0的操作
背景
使用mybatis查詢(mysql)時,會使用多個double字段做相加,但是呢,其中幾個字段有可能是null,會拋空指針。
解決方法
自動生成的mybatis mapper文件長這樣
<sql id="Base_Column_List"> ID, PREPAYMENT_FEE </sql>
修改它
<sql id="Base_Column_List"> ID, ifnull(PREPAYMENT_FEE,0) as PREPAYMENT_FEE </sql>
補(bǔ)充:mybatis中0和null關(guān)系處理
最近在項目開發(fā)中,mybatis遇到一個很奇怪的問題,因為想在后臺傳一個int型0插入到數(shù)據(jù),卻被識別成了null。
后面,排除問題時,查到mybatis源碼對其進(jìn)行了強(qiáng)制定義。
所以解決問題可以改造mybatis源碼,或者簡單的做以下處理:
<insert id="insertDemo" parameterType="java.util.Map"> INSERT INTO TABLE <trim prefix="(" suffix=")" suffixOverrides=","> <if test="importRow != null and importRow != '' or importRow ==0 "> IMPORT_ROW, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="importRow != null and importRow != '' or importRow ==0 "> #{importRow}, </if> </trim> </insert>
增強(qiáng)判斷添加 or importRow ==0
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
springboot對接minio的webhook完整步驟記錄
Minio是一款開源的對象存儲服務(wù),它致力于為開發(fā)者提供簡單、高性能、高可用的云存儲解決方案,下面這篇文章主要給大家介紹了關(guān)于springboot對接minio的webhook的相關(guān)資料,需要的朋友可以參考下2024-07-07Spring Boot企業(yè)常用的starter示例詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot企業(yè)常用starter的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12java中URLencode、URLdecode及Base64加解密轉(zhuǎn)換
本文主要介紹了java中URLencode、URLdecode及Base64加解密轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01org.springframework.beans.BeanInstantiationException異常解決
本文主要介紹了org.springframework.beans.BeanInstantiationException異常解決,大多數(shù)情況下,這個異常是由于簡單的配置錯誤或者代碼問題導(dǎo)致的,下面就來具體解決一下2024-03-03SpringBoot?實現(xiàn)全局異常處理的示例代碼
本文主要介紹了SpringBoot實現(xiàn)全局異常處理,全局異常處理器的使用可以顯著提高Spring Boot項目的代碼質(zhì)量和可維護(hù)性,減少冗余代碼,具有一定的參考價值,感興趣的可以了解一下2024-06-06如何使用spring gateway微服務(wù)網(wǎng)關(guān)(基本用法)
本文介紹spring gateway的使用,包括配置文件的使用和調(diào)試跟蹤,讓大家了解spring gateway的基本用法,感興趣的朋友跟隨小編一起看看吧2024-08-08