mybatis查詢字段為null設(shè)置為0的操作
使用mybatis查詢(mysql)時(shí),會(huì)使用多個(gè)double字段做相加,但是呢,其中幾個(gè)字段有可能是null,會(huì)拋空指針。
解決方法自動(dòng)生成的mybatis mapper文件長(zhǎng)這樣
<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)系處理
最近在項(xiàng)目開發(fā)中,mybatis遇到一個(gè)很奇怪的問(wèn)題,因?yàn)橄朐诤笈_(tái)傳一個(gè)int型0插入到數(shù)據(jù),卻被識(shí)別成了null。
后面,排除問(wèn)題時(shí),查到mybatis源碼對(duì)其進(jìn)行了強(qiáng)制定義。
所以解決問(wèn)題可以改造mybatis源碼,或者簡(jiǎn)單的做以下處理:
<insert 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
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. mysql的like模式2. MySQL分區(qū)的優(yōu)點(diǎn)3. 學(xué)好Oracle的六條總結(jié)4. 如何實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的備份與恢復(fù)5. 加密你的Access數(shù)據(jù)庫(kù)asp打開方法6. 從舊版本SQL Server中重新存儲(chǔ)數(shù)據(jù)7. Oracle根據(jù)逗號(hào)拆分字段內(nèi)容轉(zhuǎn)成多行的函數(shù)說(shuō)明8. 什么是Access數(shù)據(jù)庫(kù)9. MYSQL(電話號(hào)碼,身份證)數(shù)據(jù)脫敏的實(shí)現(xiàn)10. mysql-bin.000001文件的來(lái)源及處理方法

網(wǎng)公網(wǎng)安備