MyBatis中動態SQL拼接的方法主要是使用if、choose、when、otherwise等標簽來實現動態條件拼接。具體來說,可以在mapper.xml文件中使用這些標簽來根據條件動態生成SQL語句。例如:
<select id="selectUsers" resultType="User">
SELECT * FROM users
<where>
<if test="username != null">
AND username = #{username}
</if>
<if test="status != null">
AND status = #{status}
</if>
</where>
</select>
在上面的例子中,根據傳入的參數來動態拼接查詢條件,如果傳入了username參數,則拼接AND username = #{username}這部分條件;如果傳入了status參數,則拼接AND status = #{status}這部分條件。
除了if標簽之外,還可以使用choose、when、otherwise等標簽來實現更復雜的動態SQL拼接邏輯。通過這些標簽的靈活組合,可以根據不同的條件動態生成不同的SQL語句,從而實現靈活的查詢功能。