在MyBatis的xml文件中使用條件語句可以使用if、choose、when和otherwise標簽來實現。以下是一個簡單的例子:
<select id="getUserById" parameterType="int" resultType="User">
SELECT * FROM users
WHERE id = #{id}
<if test="name != null">
AND name = #{name}
</if>
</select>
在上面的例子中,使用了if標簽來判斷name是否為空,如果name不為空,則添加額外的條件到SQL語句中。你也可以使用choose、when和otherwise標簽來實現更復雜的條件邏輯,例如:
<select id="getUser" parameterType="User" resultType="User">
SELECT * FROM users
<where>
<choose>
<when test="name != null">
AND name = #{name}
</when>
<when test="age != null">
AND age = #{age}
</when>
<otherwise>
AND id = #{id}
</otherwise>
</choose>
</where>
</select>
在這個例子中,根據傳入的User對象的屬性值來動態拼接SQL語句,如果name不為空,則按照name查詢,如果age不為空,則按照age查詢,否則默認按照id查詢。通過使用條件語句,可以實現動態的SQL拼接,使SQL語句更加靈活和智能。