前言:我们通常使用mybatis过程中,对于判断一个变量是否为空的时候,使用 <if test="xxx != null and xxx !=''">进行。
有个小坑如下:
<if test=" name!=null && name =='admin' "><if/>
这样子写会出现 后面的 name =='admin' 失效问题。
解决方案1:
<if test='name!=null && name =="admin"'><if/> # 把这个转换成 单引号。
解决方案2:
<if test=" name!=null && name =='admin'.toString() "><if/>
————————————————
<if test="params.cyzt!= null and params.cyzt != ''">标签:00,字符串,cyrq,params,等于,mybatis,endRyrq,null From: https://www.cnblogs.com/zhyp/p/16594651.html
<choose>
<when test='params.cyzt =="在院"'>
and cyrq is null or cyrq='0000-00-00 00:00:00'
<if test="params.beginRyrq != null and params.beginRyrq != '' and params.endRyrq != null and params.endRyrq != ''"> and ryrq between #{params.beginRyrq} and #{params.endRyrq}</if>
</when>
<when test='params.cyzt =="出院"'>
and cyrq is not null and cyrq!='0000-00-00 00:00:00'
<if test="params.beginRyrq != null and params.beginRyrq != '' and params.endRyrq != null and params.endRyrq != ''"> and cyrq between #{params.beginRyrq} and #{params.endRyrq}</if>
</when>
<otherwise>
</otherwise>
</choose>
</if>