标签:字符 bool pac detail 语言 div 效果 ack bat
在写动态sql时发现字符串的判断没有生效
<if test="CLLX != null and CLLX != ‘‘"> and a.CLLX = #{CLLX} </if>
当CLLX为空字符串时判断依旧会成立
网上查询后有以下几种解决办法
1.加上toString()
<if test="CLLX != null and CLLX != ‘‘.toString()"> and a.CLLX = #{CLLX} </if>
2.改用双引号
<if test=‘CLLX != null and CLLX != ""‘> and a.CLLX = #{CLLX} </if>
3.使用自定义方法
package com; public class Utils { public static Boolean isString(String str) { return str != null && !str.isEmpty(); } }
<if test="@com.Utils@isString(CLLX)"> and a.CLLX = #{CLLX} </if>
Mybatis会将 “” 解析为字符(java 强类型语言, ‘’ char 类型 ),而非字符串,不能做到判断的效果。
标签:字符 bool pac detail 语言 div 效果 ack bat
原文地址:https://www.cnblogs.com/jhxxb/p/10637219.html