Mybatis中怎么使用in传入List

655Z技术栈 JAVA编程 / 其他编程 5小时前 6

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

提供PHP及ThinkPHP框架的定制开发、代码优化,PHP修改、ThinkPHP修改。

邮箱:yvsm@163.com 微信:yvsm316 QQ:316430983
关闭

用微信“扫一扫”