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