mybatis中使用if標籤比較兩個字串是否相等
阿新 • • 發佈:2018-12-26
今日一坑
轉自:http://www.cnblogs.com/a8457013/p/8033549.html
問題:
mybatis中,if標籤,when標籤中都會有條件判斷:test;如何判斷兩個字串是否相等
解決:
<if test="dy != null and dy != ''">
<if test="kskm != null and kskm != ''">
<choose>
<when test='dy == "1"'>and upper(a.aa) = upper(#{kskm, jdbcType=VARCHAR})</ when>
<!-- 或者 -->
<when test="dy == '1'.toString()">and upper(a.aa) = upper(#{kskm, jdbcType=VARCHAR})</when>
</choose>
</if>
</if>
不能使用:
<when test="dy == '1'">and upper(a.aa) = upper(#{kskm, jdbcType=VARCHAR})</when>
解釋:
因為mybatis會把’Y’解析為字元,java是強型別語言,所以不能這樣寫。