在MyBatis中構建動態IN子句可以使用<foreach>
標簽來實現。下面是一個示例:
假設有一個查詢需要根據一組id來查詢數據,使用動態IN子句來構建SQL語句:
<select id="selectByIds" parameterType="java.util.List" resultType="com.example.User">
SELECT * FROM user
WHERE id IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
在這個示例中,<foreach>
標簽會遍歷list
參數中的每個元素,將其拼接到IN子句中。例如,如果傳入參數為[1, 2, 3],最終構建的SQL語句為:
SELECT * FROM user WHERE id IN (1, 2, 3)
通過使用<foreach>
標簽,可以方便地構建動態IN子句來滿足不同查詢需求。