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 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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
相关文章
springboot对接minio的webhook完整步骤记录
Minio是一款开源的对象存储服务,它致力于为开发者提供简单、高性能、高可用的云存储解决方案,下面这篇文章主要给大家介绍了关于springboot对接minio的webhook的相关资料,需要的朋友可以参考下2024-07-07java中URLencode、URLdecode及Base64加解密转换
本文主要介绍了java中URLencode、URLdecode及Base64加解密转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-01-01org.springframework.beans.BeanInstantiationException异常解决
本文主要介绍了org.springframework.beans.BeanInstantiationException异常解决,大多数情况下,这个异常是由于简单的配置错误或者代码问题导致的,下面就来具体解决一下2024-03-03
最新评论