注意了,Mybatis中条件判断时遇到的坑

1.mapper中比较字符串时需要注意的问题如下:

mybatis 映射文件中,if标签判断字符串相等,两种方式:
因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串isComplete变量是否是字符串Y的时候
<if test="isComplete=='Y'.toString()">
或者使用下面的写法
<if test = 'isComplete== "Y"'>
注意:不能使用以下方式
<if test="isComplete=='Y'">and 1=1</if>
因为mybatis会把'Y'解析为字符,java是强类型语言,所以不能这样写。
扩展知识:OGNL表达式与EL表达式:

https://www.cnblogs.com/mxmbk/p/5286355.html

2.IFNULL(p1,p2)函数注意:

1、IFNULL(P1,P2)如果P1不为空,则返回值为P1;P1为NULL,则返回为P2;P2有点类似替补球员;
2、注意,IFNULL只是针对局部字段的替换;如果整个结果查出来都是空,则不能使用IFNULL(P1,P2)

原文地址:https://www.cnblogs.com/ysq0908/p/11670767.html