mybatis if test判断BigDecimal遇到的坑及解决
作者:卡卡的喵 发布时间:2022-12-06 09:44:24
标签:mybatis,if,test,BigDecimal
mybatis if test判断BigDecimal遇到的坑
<update id="test" parameterType="cn.test.Demo">
update test
<trim prefix="set" suffixOverrides=",">
<if test="bigDecimalValue != null and bigDecimalValue != ''">
bigDecimal_value = #{bigDecimalValue},
</if>
</trim>
WHERE
id = #{id}
</update>
以上语句变量bigDecimalValue是BigDecimal类型的,传入的值是0,
但打印出来的语句是
update test WHERE id = ?
竟然没有set变量,导致一直报sql错误的异常。
后来才发现,如果要判断BigDecimal类型是否为空,只要判断是否为null就可以了,不要判断是否为空字符串,系统会自动把0当成了空字符串。
造成这样错误的原因应该是复制了之前的代码,而之前的代码是判断字符类型是否为空。
mybatis if test 报错,无效
除却.toString能够对空字符和数值操作,来避免类型对比错误问题外
还可能在语法上报错,
先上图(这里说SQL格式有问题)
源码是这样的
(正常在SQL工具中,“SELECT * FROM `product` where”查询语句是没问题的)
但在这里会报错。
所以小改一下!
就解决了!
来源:https://blog.csdn.net/kouwoo/article/details/121979821


猜你喜欢
- 基本介绍BottomSheetDialog是底部操作控件,可在屏幕底部创建一个支持滑动关闭视图。目前依赖使用如下:implementatio
- 单例模式有一下特点:1、单例类只能有一个实例。2、单例类必须自己自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。单例模式确
- 何为系统APP何为三方APP?位于system分区内的是系统软件,位于data分区得的是第三方后安装的软件系统软件是指控制和协调计算机及外部
- 开发环境: IDEA 2022.1.41. 概述虽然webservice这块使用很少,但在局域网作服务还是相当不错。今天突生想法,想做一个来
- 使用Eureka实现服务治理作用:实现服务治理(服务注册与发现)简介:Spring Cloud Eureka是Spring Cloud Ne
- 问题?在很多公司(如阿里、华为等)的编程规范中,非常明确地禁止使用Executors快捷创建线程池,为什么呢?这里从源码讲起,介绍使用Exe
- 在Android7.0的手机上,自动更新的时候出现包解析异常,在其他的手机上没有这个问题。原因:Android7.0引入私有目录被限制访问和
- 本文实例讲述了C#使用回溯法解决背包问题的方法。分享给大家供大家参考。具体如下:背包问题描述:给定一组物品,每种物品都有自己的重量和价格,在
- 操作流程假设你已经有自己的域名,因为微信公众号和微信回调都需要域名先看看官方给的文档根据官方文档,主要流程如下:(1)引导用户进入授权页面同
- 基本结构我们先来看一段最基本的代码,分析这段代码在RxJava中是如何实现的。Observable.OnSubscribe<Strin
- 本文实例为大家分享了C#实现图形界面的时钟的具体代码,供大家参考,具体内容如下秒针有跳跃两个格子问题,主要是算法耗时没考虑在TimeTick
- 本文实例为大家分享了java实现转圈打印矩阵的具体代码,供大家参考,具体内容如下给定一个整形矩阵Matrix,请按照顺时针方向转圈的方式,输
- 本文实例讲述了C#中WPF使用多线程调用窗体组件的方法。分享给大家供大家参考。具体如下:Thread thread=new Thread(n
- resultType和resultMap只能有一个成立,resultType是直接表示返回类型的,而resultMap则是对外部Result
- 看到很多人解析歌词文件时写了一大片的字符处理代码,而且看得不是很明白,所以自己研究了一下, 首先来了解下Lrc文件 时间
- 目录图标准备BottomNavigationBar 简介构建项目页面结构简化入口代码复用最终实现的结果如上图所示,顶部共用一个导航栏,底部有
- 本文实例为大家分享了Android ViewPager实现轮播图效果的具体代码,供大家参考,具体内容如下先上一张效果图:说到ViewPage
- 一、概述1、Ribbon是什么Ribbon是Netflix发布的开源项目,Spring Cloud Ribbon是基于Netflix Rib
- privatestring[]GetMoc() { string[]str=newstring[3]; ManagementClassmcC
- 比较适合新手。逻辑上仍然有点问题。可以用于学习java文件操作下载地址:http://yun.baidu.com/share/link?sh