在MyBatis中使用in
傳入List
可以通過動態SQL中的foreach
標簽來實現。下面是一個簡單的示例:
假設有一個User
類和UserMapper
接口,需要根據用戶的id
列表查詢用戶信息:
public interface UserMapper {
List<User> selectUsersByIdList(@Param("idList") List<Integer> idList);
}
在對應的UserMapper.xml
文件中,可以使用foreach
標簽來實現:
<select id="selectUsersByIdList" resultType="User">
SELECT * FROM user WHERE id IN
<foreach collection="idList" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
在這個示例中,idList
是傳入的List<Integer>
,foreach
標簽會遍歷idList
中的每個元素,并將其拼接到SQL語句中的IN
條件中。
調用示例:
List<Integer> idList = Arrays.asList(1, 2, 3);
List<User> users = userMapper.selectUsersByIdList(idList);
這樣就可以通過in
傳入List
來查詢對應的用戶信息。