mybatis判断integer空字符串问题,mybatis判断int类型

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: