在 MyBatis 中,可以使用 <if>
標簽來實現條件判斷,類似于程序中的 if-else 語句。下面是一個示例:
<select id="selectUsers" parameterType="map" resultType="User">
SELECT * FROM users
<where>
<if test="username != null">
AND username = #{username}
</if>
<if test="email != null">
AND email = #{email}
</if>
</where>
</select>
在上面的示例中,根據傳入的參數來動態拼接 SQL 語句,如果 username
或 email
不為空,則會加上對應的條件。 <if>
標簽中的 test
屬性用于指定條件判斷的表達式,只有表達式的值為 true 時才會執行對應的內容。
需要注意的是,如果使用多個 <if>
標簽來實現多個條件判斷,需要注意條件之間的邏輯關系,比如使用 AND
或 OR
來連接條件。如果條件比較復雜,可以使用 <choose>
和 <when>
標簽來實現更復雜的條件判斷邏輯。