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

 更新时间:2021年02月20日 09:32:13   作者:吃菜不吃饭  
这篇文章主要介绍了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项目生成可依赖的jar并引入到项目中的方法

    将springboot项目生成可依赖的jar并引入到项目中的方法

    SpringBoot项目默认打包的是可运行jar包,也可以打包成不可运行的jar包,本文给大家介绍将springboot项目生成可依赖的jar并引入到项目中的方法,感兴趣的朋友一起看看吧
    2023-11-11
  • java.text.DecimalFormat用法详解

    java.text.DecimalFormat用法详解

    这篇文章主要为大家详细介绍了java.text.DecimalFormat用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Java多线程通信:交替打印ABAB实例

    Java多线程通信:交替打印ABAB实例

    这篇文章主要介绍了Java多线程通信:交替打印ABAB实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 初识Java8中的Stream

    初识Java8中的Stream

    lambda表达式是stream的基础,接下来通过实例代码给大家详细介绍java8中的stream,感兴趣的朋友一起看看吧
    2017-08-08
  • Java API操作Hdfs的示例详解

    Java API操作Hdfs的示例详解

    这篇文章主要介绍了Java API操作Hdfs详细示例,遍历当前目录下所有文件与文件夹,可以使用listStatus方法实现上述需求,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 在MyBatis中使用 # 和 $ 书写占位符的区别说明

    在MyBatis中使用 # 和 $ 书写占位符的区别说明

    这篇文章主要介绍了在MyBatis中使用 # 和 $ 书写占位符的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • IDEA解决Java:程序包xxxx不存在的问题

    IDEA解决Java:程序包xxxx不存在的问题

    这篇文章主要介绍了IDEA解决Java:程序包xxxx不存在的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • java求两个数中的大数(实例讲解)

    java求两个数中的大数(实例讲解)

    下面小编就为大家带来一篇java求两个数中的大数(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Java基于解释器模式实现定义一种简单的语言功能示例

    Java基于解释器模式实现定义一种简单的语言功能示例

    这篇文章主要介绍了Java基于解释器模式实现定义一种简单的语言功能,简单描述了解释器模式的概念、功能及Java使用解释器模式定义一种简单语言的相关实现与使用技巧,需要的朋友可以参考下
    2018-05-05
  • 利用Java连接Hadoop进行编程

    利用Java连接Hadoop进行编程

    这篇文章主要介绍了利用Java连接Hadoop进行编程,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-06-06

最新评论