欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

mybatis查询字段为null设置为0的操作

时间:2021-06-03 09:08:44|栏目:JAVA代码|点击:

背景

使用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 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>

增强判断添加 or importRow ==0

上一篇:InputStreamReader和BufferedReader用法及实例讲解

栏    目:JAVA代码

下一篇:使用Spring自定义注解实现任务路由的方法

本文标题:mybatis查询字段为null设置为0的操作

本文地址:http://www.codeinn.net/misctech/134101.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有