mybatis中BigDecimal中的0存为null的坑及解决

 更新时间:2024年10月28日 09:05:27   作者:yuyue_999  
在使用MyBatis进行数据库操作时,若Java中属性类型为BigDecimal且值为0,插入数据库时可能会变为null,而不是0,这个问题可能是由于MyBatis在处理BigDecimal类型时的弱类型判断导致的,当BigDecimal变量与空字符串进行比较时,MyBatis可能将其视为null

mybatis中BigDecimal的0存为null的坑

问题点

做mybatis的插入和修改操作时,java中类型为Bigdicemal时,且值为0时,存入到数据库中的值为null,而不是0,其它的非0值正常

部分代码如下:

有问题的属性

可以看到是 Begdecimal 类型,对应查出来的日志如下:

可以看到,插入时存的是0, 但是入口后进行查询变成了null

最终修改方法

把 去掉bigDecimalNum !=''后正常

经过查询得出结论

mybatis中的类型判断是弱类型,而不是java中的强类型。

mybatis会自动把BigDecimal类型转为string,即0变为null啦

同样的,Integer 类型如果这样判断也会有这个问题

最后

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • HashMap原理的深入理解

    HashMap原理的深入理解

    这篇文章主要介绍了对HashMap原理的理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Spring中读取配置文件的五种方式

    Spring中读取配置文件的五种方式

    在使用spring或springboot项目开发中,难免会涉及到读取配置文件的各种配置参数的情况,因为当项目的规模上去之后,在单个配置文件中维护所有的配置信息很难满足实际的需要,所以本文给大家介绍了Spring读取配置文件多种方式,需要的朋友可以参考下
    2024-04-04
  • mybatis返回结果为Map问题

    mybatis返回结果为Map问题

    这篇文章主要介绍了mybatis返回结果为Map问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Java Redis Redisson配置教程详解

    Java Redis Redisson配置教程详解

    这篇文章主要介绍了Java Redis Redisson配置教程,包括Session共享配置及其他Redisson的Config配置方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • 一文带你了解Java万物之基之Object类

    一文带你了解Java万物之基之Object类

    Java是一门天然的面向对象的语言。而所有我们手动创造出来的类,都继承于同一个类,即Object类。本文将通过示例为大家详细介绍一下Java中的Object类,需要的可以参考一下
    2022-03-03
  • JPA与mybatis-plus不兼容问题的解决

    JPA与mybatis-plus不兼容问题的解决

    本文主要介绍了JPA与mybatis-plus不兼容问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • java selenium元素定位大全

    java selenium元素定位大全

    本文主要介绍java selenium元素定位,这里整理了selenium元素定位的相关资料,有兴趣的小伙伴可以参考下
    2016-08-08
  • Spring详细解读事务管理

    Spring详细解读事务管理

    Spring事务的本质就是对数据库事务的支持,没有数据库事务,Spring是无法提供事务功能的。Spring只提供统一的事务管理接口,具体实现都是由数据库自己实现的,Spring会在事务开始时,根据当前设置的隔离级别,调整数据库的隔离级别,由此保持一致
    2022-04-04
  • java遍历properties文件操作指南

    java遍历properties文件操作指南

    在java项目开发过程中,使用properties文件作为配置基本上是必不可少的,有很多如系统配置信息,java如何遍历properties文件呢,本文将详细介绍,希望可以帮助到您
    2012-11-11
  • 解决IDEA占用C盘空间过大的问题

    解决IDEA占用C盘空间过大的问题

    这篇文章主要介绍了解决IDEA占用C盘空间过大的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02

最新评论