在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
来查询对应的用户信息。