mybatis查詢字段為null設置為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>
補充:mybatis中0和null關系處理
最近在項目開發中,mybatis遇到一個很奇怪的問題,因為想在后臺傳一個int型0插入到數據,卻被識別成了null。
后面,排除問題時,查到mybatis源碼對其進行了強制定義。
所以解決問題可以改造mybatis源碼,或者簡單的做以下處理:
<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>
增強判斷添加 or importRow ==0
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章: