mybatis循环模糊查询
时间: 2023-11-09 16:05:52 浏览: 113
在 MyBatis 中进行循环模糊查询,可以使用 foreach 标签来实现。具体步骤如下:
1. 在 Mapper 文件中添加 foreach 标签:
```
<select id="getUserListByNameList" parameterType="java.util.List" resultMap="userResultMap">
SELECT * FROM user
WHERE 1=1
<foreach collection="nameList" item="name" separator=" OR ">
AND name LIKE CONCAT('%', #{name}, '%')
</foreach>
</select>
```
2. 在 Java 代码中调用 Mapper 方法:
```
List<String> nameList = new ArrayList<>();
nameList.add("John");
nameList.add("Mary");
List<User> userList = userMapper.getUserListByNameList(nameList);
```
其中,nameList 是一个字符串列表,包含了需要查询的用户名。在 Mapper 文件中,使用 foreach 标签遍历 nameList 列表,并将每个字符串添加到 SQL 语句中进行模糊查询。最后返回查询结果。
需要注意的是,使用 foreach 标签时,需要指定 collection 属性为列表对象,item 属性为列表元素变量名,separator 属性为分隔符。同时,在 SQL 语句中可以使用 CONCAT 函数拼接字符串。
阅读全文