1.使用字母
1.1单个字母(不区分大小写)
1.1.1不带toString()
<if test="kbtu == 'B'">andMTK.KODHA_NAME = #{kbtu}</if>
报错信息如下
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.NumberFormatException: For input string: "B"Cause: java.lang.NumberFormatException: For input string: "B"
1.1.1.1不带toString(), 不带单引号
<if test="kbtu == a">andMTK.KODHA_NAME = #{kbtu}</if>
报错信息如下
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'a' in 'class com.cll.entity.UserEntity'
1.1.2带toString()
<if test="kbtu == 'B'.toString()">andMTK.KODHA_NAME = #{kbtu}</if>
无报错
1.2双字母(两个字母以上)(不区分大小写)
1.2.1不带toString()
<if test="kbtu == 'BB'">andMTK.KODHA_NAME = #{kbtu}</if>
无报错
1.2.2带toString()
<if test="kbtu == 'BB'.toString()">andMTK.KODHA_NAME = #{kbtu}</if>
无报错
2.使用数字
2.1单个数字
2.1.1不带toString()
<if test="kbtu == '0'">andMTK.KODHA_NAME = #{kbtu}</if>
报错信息:
不会拼接当前sql片段的条件
2.1.1.1不带toString(), 不带单引号
<if test="kbtu == 0">andMTK.KODHA_NAME = #{kbtu}</if>
报错信息:
拼接当前sql片段的条件
<if test="kbtu == '0'">andMTK.KODHA_NAME = #{kbtu}</if>
报错信息:
不会拼接当前sql片段的条件
2.1.2带toString()
<if test="kbtu == '0'.toString()">andMTK.KODHA_NAME = #{kbtu}</if>
无报错
2.2双数字(两个数字以上)
2.2.1不带toString()
<if test="kbtu == '00'">andMTK.KODHA_NAME = #{kbtu}</if>
无报错
2.2.2带toString()
<if test="kbtu == '00'.toString()">andMTK.KODHA_NAME = #{kbtu}</if>
无报错