1.使用字母
1.1单个字母(不区分大小写)
1.1.1不带toString()
<if test="kbtu == 'B'">and
MTK.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">and
MTK.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()">and
MTK.KODHA_NAME = #{kbtu}
</if>
无报错
1.2双字母(两个字母以上)(不区分大小写)
1.2.1不带toString()
<if test="kbtu == 'BB'">and
MTK.KODHA_NAME = #{kbtu}
</if>
无报错
1.2.2带toString()
<if test="kbtu == 'BB'.toString()">and
MTK.KODHA_NAME = #{kbtu}
</if>
无报错
2.使用数字
2.1单个数字
2.1.1不带toString()
<if test="kbtu == '0'">and
MTK.KODHA_NAME = #{kbtu}
</if>
报错信息:
不会拼接当前sql片段的条件
2.1.1.1不带toString(), 不带单引号
<if test="kbtu == 0">and
MTK.KODHA_NAME = #{kbtu}
</if>
报错信息:
拼接当前sql片段的条件
<if test="kbtu == '0'">and
MTK.KODHA_NAME = #{kbtu}
</if>
报错信息:
不会拼接当前sql片段的条件
2.1.2带toString()
<if test="kbtu == '0'.toString()">and
MTK.KODHA_NAME = #{kbtu}
</if>
无报错
2.2双数字(两个数字以上)
2.2.1不带toString()
<if test="kbtu == '00'">and
MTK.KODHA_NAME = #{kbtu}
</if>
无报错
2.2.2带toString()
<if test="kbtu == '00'.toString()">and
MTK.KODHA_NAME = #{kbtu}
</if>
无报错