mybatis 标签判断参数为数字或者判断是否等于1,0

https://www.cnblogs.com/lilulin/p/17466922.html

https://www.jb51.net/program/29635266e.htm

https://blog.csdn.net/u010253246/article/details/105487456/

正确写法:

<if test=" xxx==1 "> 或者 <if test=" xxx=='1'.toString() "> 或者 <if test=' xxx=="1" '>

错误写法

<if test=" xxx=='1' ">

如果判断条件是数字,则不能加单引号,否则将会不生效!

 

拓展:

mybatis源码中,会把 0 和 空字符串都转成 0.00,

所以当<if test=" xxx==0 ">时,mybatis默认会把0等价于空字符串,所以不会生效

正确写法: <if test=" xxx=='0'.toString() "> 或者 <if test=' xxx=="0" '>

 

重要提示:

在使用mybatis时,需要特别注意,当使用的参数不管是String/Object/int等类型的变量,我们需要清楚业务变量的值会是字符型还是数值型

只要变量值是字符型就用“==”!!!

只要变量值是单个大写或小写字母就用“=”!!!

只要变量值是数值型就用“=”!!!

posted @ 2025-04-08 19:19  zbjice  阅读(210)  评论(0)    收藏  举报