首页 > 分享 > MYBATIS中if test判断中的注意事项

MYBATIS中if test判断中的注意事项

最新推荐文章于 2024-10-29 20:53:00 发布

一杯星空一个世界 于 2018-10-18 18:06:07 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

mybatis中有这样一个SQL判断,

<if test="status != null and status !='' "> and a.STATUS = #{status,jdbcType=SMALLINT} </if> 123

status是一个Byte类型对象,当status = 1时判断成立,status=0 就不成立,按理说都应该成立的。自己试着把status !=’’ 去掉之后就都成立了。后来网上查了好久,才明白mybatis会把number类型的0当成false,非0为true,类似于JavaScript中0!=''结果为false,从而导致=0的时候判断总是不成立。
其实只有String类型才需要判断!='',number类型根本不需要。
详细的可以看看这个大佬写的:http://jackyrong.iteye.com/blog/2377596

相关知识

mybatis if 条件判断 = like
mybatis中多个参数传递的问题
JDBC与MyBatis:数据库访问技术的变迁【后端 15】
mysql中null与“空值”的坑
容量校准器 by Seraphin Test Measures
MySQL if else相关函数
细菌鉴定中常用的生理生化反应
正则中的 ?= ?
用类描述计算机中CPU 的速度和硬盘的容量。要求Java 应用程序有4个类, 名字分别是 PC、CPU、HardDish 和 Test,其中 Test 是主类
C++中重载、重写(覆盖)的区别实例分析

网址: MYBATIS中if test判断中的注意事项 https://m.huajiangbk.com/newsview1101463.html

所属分类:花卉
上一篇: Python编程PTA题解——判
下一篇: JAVA判断水仙花数