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代码
本文地址:http://www.codeinn.net/misctech/134101.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




