mybatis使用Integer类型查询出现的问题怎么解决
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,本文小编为大家详细介绍"mybatis使用Integer类型查询出现的问题怎么解决",内容详细,步骤清晰,细节处理妥当,希望这篇"mybatis使用Integer类型查询出现的问题怎么解决"文章能帮助
千家信息网最后更新 2025年11月09日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安全错误
数据库的锁怎样保障安全
服务器和工作站组成什么
微信小程序配置服务器
软件开发好难可以换个行业吗
网络安全执法松散的整改
网络技术基础公开课
中国网民的网络安全的认识
网络安全一流
软件开发外包体验
数据库关联关系
数据库怎么连接思迅软件上
数据访问层必须是数据库服务器吗
王继彬的软件开发教程合集
现今网络安全法存在的问题
西青区信息网络技术质量保证
mysql数据库查询输出
四川学习软件开发中心
万得数据库在校外
如何登录服务器输入密码
软件开发项目成分
ss免费服务器
语音服务器连接失败金铲铲
软件开发各项文档
定制网络技术开发创新服务
区块链数据库应用程序
类图的数据库设计
华为防火墙服务器映射配置命令
洛阳互联网科技标准化厂房
杭州可视化智慧校园软件开发
2019网络安全通报
p2p软件开发公司排名