mybatis使用Integer类型查询出现的问题怎么解决
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本文小编为大家详细介绍"mybatis使用Integer类型查询出现的问题怎么解决",内容详细,步骤清晰,细节处理妥当,希望这篇"mybatis使用Integer类型查询出现的问题怎么解决"文章能帮助
千家信息网最后更新 2025年01月19日mybatis使用Integer类型查询出现的问题怎么解决
本文小编为大家详细介绍"mybatis使用Integer类型查询出现的问题怎么解决",内容详细,步骤清晰,细节处理妥当,希望这篇"mybatis使用Integer类型查询出现的问题怎么解决"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
使用Integer类型查询出现的问题
mapper.xml :
比如:
and m.state = #{page.entity.state}
当state这个值为0的时候
mybatis为默认为空字符串"",所以如果状态这种类似的场景有0值得,查询就不要加上xxxx!=""这种。或者or xxx==0
代码示例:
1、
and m.state = #{page.entity.state}
2、
and m.state = #{page.entity.state}
mybatis判断Integer遇到的bug
场景产出
需要查出状态为0的所有用户
我是这样写的
1.mapper:
BaseUser selectUserByStatus(@parm("status") Integer status);
这里传了0进去
2.sql:
SELECT * FROM base_user WHERE status=0
3.xml片段
status = #{status},
4.结果真正执行的sql
SELECT * FROM base_user
小结一下:
test="status != null and status != ''"这个是拿来判断String的!!!也就是说Double,BigDecimal等数字类型也会出现这样的情况
1.如果是Integer类型的话,如果变量的值是0,即 num = 0, mybatis在进行 num != '' " 的时候会认为 num 的值是空字符串;直接跳过判断了
所以如果是Integer类型只需要判断 != null 即可
2.如果String类型需要判断不等于0,则需要写name != '0'.toString(),否则会报错。
读到这里,这篇"mybatis使用Integer类型查询出现的问题怎么解决"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
类型
查询
问题
文章
内容
场景
时候
状态
空字符
妥当
也就是
也就是说
代码
变量
小结
思路
情况
数字
新知
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全维护总结工作
北邮网络安全全球第二
舟山大数据分布式存储数据库
vb替换矩阵中的数据库
网络安全人员考什么证书
数据库有哪四个创表方式
linux服务器的log
为什么会转行软件开发
软件开发遵循标准
网络安全 目录
目前中国的网络技术发展
后端对数据库表重命名叫什么
数据库系统工程师考些什么
考研武大网络安全
东莞数据库培训哪家好
批图软件开发
北京网络安全大会主题
数据库技术三级考试真题
无锡安卓应用软件开发
sql数据库表约束表达式
为什么服务器不是别人推给我们的
同花顺手机版切换服务器
简述非关系型数据库的概念与特点
放心的微信软件开发流程
网络安全宣传周24小时
数据库学哪方面
如何关闭eb服务器
dnf网络安全
网络安全伴我行作文200字
广西专业软件开发中心