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


 <!-- 此處使用if比較是否相等 -->

范例一:

<select id="findClientIds" parameterType="map" resultType="map">
        SELECT sys_user.id,sys_user.clientId FROM sys_user
        <where>
            <if test="grade!= null and grade!= ''and grade == '3'.toString()">
                id =(
                SELECT PRIMARY_PERSON FROM sys_office WHERE id = 
                (SELECT office_id FROM sys_user WHERE id = #{userId}
                ))
            </if>
            <if test="grade!= null and grade!= '' and grade == '2'.toString()">
                id =(
                SELECT PRIMARY_PERSON FROM sys_office WHERE id = 
                (SELECT company_id FROM sys_user WHERE id = #{userId}
                ))
            </if>
            <if test="grade!= null and grade!= '' and grade == '1'.toString()">
                id = ''
            </if>
        </where>
    </select>

 

范例二:

mybatis 映射文件中,if標簽判斷字符串相等,兩種方式:
因為mybatis映射文件,是使用的ognl表達式,所以在判斷字符串sex變量是否是字符串Y的時候

<if test="sex=='Y'.toString()">

或者使用下面的寫法 <if test = 'sex== "Y"'>

 

注意:
不能使用

<if test="sex=='Y'">
and 1=1
</if>

 

 

因為mybatis會把'Y'解析為字符,java是強類型語言,所以不能這樣寫。

你的能量超乎你想象_________

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM