阅读量:0
在MyBatis中使用in查询进行多值匹配,可以使用foreach标签来动态生成多个条件。以下是一个示例:
假设有以下数据库表:
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50) );
现在要查询id在1, 2, 3这三个值中的用户,可以编写如下的Mapper接口方法:
public interface UserMapper { List<User> selectUsersByIds(List<Integer> ids); }
然后在对应的Mapper.xml文件中编写SQL语句:
<select id="selectUsersByIds" resultType="User"> SELECT * FROM users WHERE id IN <foreach collection="ids" item="id" open="(" separator="," close=")"> #{id} </foreach> </select>
在这个例子中,ids是一个Listid IN (1, 2, 3)
的SQL语句。
最后,在Java代码中调用这个方法:
List<Integer> ids = Arrays.asList(1, 2, 3); List<User> users = userMapper.selectUsersByIds(ids);
这样就可以使用in查询进行多值匹配了。