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对接minio的webhook完整步骤记录

    springboot对接minio的webhook完整步骤记录

    Minio是一款开源的对象存储服务,它致力于为开发者提供简单、高性能、高可用的云存储解决方案,下面这篇文章主要给大家介绍了关于springboot对接minio的webhook的相关资料,需要的朋友可以参考下
    2024-07-07
  • Spring Boot企业常用的starter示例详解

    Spring Boot企业常用的starter示例详解

    这篇文章主要给大家介绍了关于Spring Boot企业常用starter的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • 聊聊如何在springboot中添加模版

    聊聊如何在springboot中添加模版

    本文,我们谈谈如何在 spring boot 中添加模版,因为有时候我们也是需要后端渲染的嘛,比如公司官网,文中有详细的代码示例供我们参考,需要的朋友可以参考下
    2023-08-08
  • java中URLencode、URLdecode及Base64加解密转换

    java中URLencode、URLdecode及Base64加解密转换

    本文主要介绍了java中URLencode、URLdecode及Base64加解密转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • Druid之连接创建及销毁示例详解

    Druid之连接创建及销毁示例详解

    这篇文章主要为大家介绍了Druid之连接创建及销毁示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • org.springframework.beans.BeanInstantiationException异常解决

    org.springframework.beans.BeanInstantiationException异常解决

    本文主要介绍了org.springframework.beans.BeanInstantiationException异常解决,大多数情况下,这个异常是由于简单的配置错误或者代码问题导致的,下面就来具体解决一下
    2024-03-03
  • SpringBoot 实现全局异常处理的示例代码

    SpringBoot 实现全局异常处理的示例代码

    本文主要介绍了SpringBoot实现全局异常处理,全局异常处理器的使用可以显著提高Spring Boot项目的代码质量和可维护性,减少冗余代码,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • intellij idea 将模块打jar包的步骤详解

    intellij idea 将模块打jar包的步骤详解

    这篇文章主要介绍了intellij idea 将模块打jar包的步骤,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • 如何使用spring gateway微服务网关(基本用法)

    如何使用spring gateway微服务网关(基本用法)

    本文介绍spring gateway的使用,包括配置文件的使用和调试跟踪,让大家了解spring gateway的基本用法,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • Java系统运行缓慢等问题的排查思路

    Java系统运行缓慢等问题的排查思路

    这篇文章主要介绍了Java系统运行缓慢等问题的排查思路,读者可以根据具体情况具体分析,从而解决问题
    2021-04-04

最新评论