mybatis判断integer空字符串问题,mybatis判断int类型
目录
使用整数类型查询出现的问题当状态这个值为0的时候框架判断整数遇到的病菌场景产出我是这样写的
使用Integer类型查询出现的问题
mapper.xml:
选择id=count 参数type= com。品玉。系统。网络。页面。page“结果类型=”Java。郎。整数从HR _ push _ msg _ model中选择计数(m . id)作为m,其中if test=页面。关键词!=空和page.keyword!= m .类似“% $ { page”的文本。关键字} % /if if test= page。实体!=null if test=page.entity.text!=空和page.entity.text!= 和m .文本比如“% $ { page。实体。text } % /if if test= page。实体。标题!=空和page.entity.title!= 和m .标题类似“% $ { page。实体。title } % /if if test= page。实体。状态!=空和page.entity.state!= 和m . state=# { page。实体。state }/if if test= page。实体。打字!=空和page.entity.type!= 和m . type=# { page。实体。键入}/if/if/where/select比如:
if test=page.entity.state!=空和page.entity.state!= 和m . state=# { page。实体。state }/if
当state这个值为0的时候
米巴提斯为默认为空字符串,所以如果状态这种类似的场景有0值得,查询就不要加上xxxx!=这种。或者或者xxx==0
代码示例:
1、
if test=page.entity.state!=null 和m . state=# { page。实体。state }/if2,
if test=page.entity.state!=空和page.entity.state!= 或 page.entity.state==0 且m . state=# { page。实体。state }/if
mybatis判断Integer遇到的bug
场景产出
需要查出状态为0的所有用户
我是这样写的
1 .映射器:
基本用户selectUserByStatus(@ parm( status )整数状态);这里传了0进去
2.sql:
SELECT * FROM base _ user WHERE status=03。可扩展置标语言片段
if test=status!=空和地位!=status=#{status},/if4 .结果真正执行的结构化查询语言
SELECT * FROM base _ user小结一下:
测试=状态!=空和地位!=这个是拿来判断线的!也就是说双精度,大十进制等数字类型也会出现这样的情况
1.如果是整数类型的话,如果变量的值是0,即num=0,mybatis在进行num!= 的时候会认为数字的值是空字符串;直接跳过判断了
所以如果是整数类型只需要判断!=空即可
2.如果线类型需要判断不等于0,则需要写名字!=0.toString(),否则会报错。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行它.
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。