在MyBatis中如何實(shí)現(xiàn)elseif的邏輯控制

小樊
84
2024-08-16 21:52:38

在MyBatis中,可以使用<choose><when>標(biāo)簽來(lái)實(shí)現(xiàn)類似于elseif的邏輯控制。以下是一個(gè)示例:

<select id="selectUserById" parameterType="int" resultType="User">
    SELECT * FROM users
    <where>
        <choose>
            <when test="id != null">
                AND id = #{id}
            </when>
            <when test="username != null">
                AND username = #{username}
            </when>
            <otherwise>
                AND email = #{email}
            </otherwise>
        </choose>
    </where>
</select>

在上面的示例中,根據(jù)傳入的參數(shù)idusernameemail的不同情況,選擇不同的條件進(jìn)行查詢。當(dāng)id不為null時(shí),查詢條件為id = #{id};當(dāng)username不為null時(shí),查詢條件為username = #{username};否則查詢條件為email = #{email}。通過(guò)<choose><when>標(biāo)簽的嵌套使用,可以實(shí)現(xiàn)類似于elseif的邏輯控制。

0