mybatis for循环写模糊查询
时间: 2023-11-19 10:06:58 浏览: 105
mybatis 模糊查询的实现方法
5星 · 资源好评率100%
在 MyBatis 中,可以使用 `<foreach>` 标签将一个数组或集合中的元素循环插入到 SQL 语句中,从而实现批量操作。下面是使用 `<foreach>` 标签实现模糊查询的示例:
```
<select id="findUsersByName" resultType="User">
SELECT * FROM user
WHERE 1=1
<foreach collection="names" item="name" separator="OR">
AND name LIKE CONCAT('%', #{name}, '%')
</foreach>
</select>
```
其中,`names` 是一个 `List` 类型的参数,存储了需要查询的用户名。在 SQL 语句中使用了 `<foreach>` 标签,将 `names` 中的每个元素循环插入到 `AND name LIKE ...` 的条件中。`separator="OR"` 表示每个条件之间使用 OR 连接。
在 Mapper 接口中定义方法:
```
public List<User> findUsersByName(List<String> names);
```
使用时,可以传入一个包含多个用户名的 List:
```
List<String> names = new ArrayList<>();
names.add("Tom");
names.add("Jerry");
List<User> users = userDao.findUsersByName(names);
```
阅读全文