阅读量:149
在MyBatis中使用in传入List可以通过动态SQL中的foreach标签来实现。下面是一个简单的示例:
假设有一个User类和UserMapper接口,需要根据用户的id列表查询用户信息:
public interface UserMapper {
List selectUsersByIdList(@Param("idList") List 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,foreach标签会遍历idList中的每个元素,并将其拼接到SQL语句中的IN条件中。
调用示例:
List idList = Arrays.asList(1, 2, 3);
List users = userMapper.selectUsersByIdList(idList);
这样就可以通过in传入List来查询对应的用户信息。