mybatis使用Integer类型查询出现的问题怎么解决
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本文小编为大家详细介绍"mybatis使用Integer类型查询出现的问题怎么解决",内容详细,步骤清晰,细节处理妥当,希望这篇"mybatis使用Integer类型查询出现的问题怎么解决"文章能帮助
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
广州紫鲸互联网科技有限公司
中关村互联网 科技集团
科技创新与互联网经济
圆梦互联网科技
华中科技大学互联网
无线互联网科技
人人互联网科技是培训
金融科技和互联网金融
广西拼得多互联网科技有限公司
成都玖崟互联网科技有限公司乐商圈怎么样
河南猎农互联网科技有限公司
健康食品互联网创新科技园项目
互联网保险科技创业
东莞新华互联网科技学校
洛阳共同富裕互联网科技有限公司
长沙茂晟互联网科技有限公司
黑云互联网科技有限公司
互联网营销推广黑科技
互联网时代科技型公司的机会
每日互联网科技新闻
互联网属科技
互联网科技与金融科技
智网互联网科技
凡科互联网科技
互联网科技股有哪些
衡水科技产业互联网平台
科技互联网的估值
上海宁丞科技互联网
广州互联网高科技取餐柜
武汉亿视互联网科技有限公司