温馨提示×

Mybatis中怎么使用in传入List

小亿
151
2024-03-11 10:38:25
栏目: 编程语言

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

0