mybatis中判断等于字符串的条件如何写


mybatis中进行条件判断字符串时这样写是不对的,虽然此写法不会直接引起异常但会造成无法判断从而忽略该条件表达式

<if test="userStatus!=null and userStatus!= 'XXX'">

需要将单双引号交换一下位置,正确写法如下:

<if test='userStatus!=null and userStatus!= "XXX"'>

或者

<if test="userStatus!=null and yanan != 'userStatus'.toString()">

因为mybatis映射文件,是使用的ognl表达式,ognl是java语言(强类型语言),会把‘X’解析成字符,而不是字符串。

因此,进行条件判断时也可使用java.lang.String的方法,如下:

<if test='userStatus.indexOf(",") != -1'>

--自己测试过(以下语句写法会造成这个判断条件根本不会加上)---重要

<if test="userStatus =='1'and userStatus == '2' ">
    AND Status = #{userStatus}
</if>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM