在使用MyBatis操作list in时,可以通过以下技巧实现:
使用foreach标签:在MyBatis的SQL语句中使用foreach标签来遍历list,将list中的元素逐个拼接成SQL语句中的in条件。例如:<select id="selectByIds" parameterType="java.util.List" resultType="com.example.User"> SELECT * FROM user WHERE id IN <foreach item="id" collection="list" open="(" separator="," close=")"> #{id} </foreach></select>使用Map参数:将list作为Map的value传入SQL语句中,在SQL语句中通过Map的key来引用list。例如:Map<String, Object> paramMap = new HashMap<>();paramMap.put("ids", listOfIds);userMapper.selectByIds(paramMap);<select id="selectByIds" parameterType="java.util.Map" resultType="com.example.User"> SELECT * FROM user WHERE id IN <foreach item="id" collection="ids" open="(" separator="," close=")"> #{id} </foreach></select>通过以上技巧,可以方便地在MyBatis中操作list in,实现根据list中的多个id查询对应的数据。


