1. 程式人生 > >mybatis中使用if標籤比較兩個字串是否相等

mybatis中使用if標籤比較兩個字串是否相等

今日一坑
轉自: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是強型別語言,所以不能這樣寫。