mybatis 多条件模糊查询
时间: 2023-08-30 22:09:32 浏览: 92
在 MyBatis 中实现多条件模糊查询可以使用动态 SQL 来实现。以下是一个示例:
1. 在 Mapper 中定义查询语句
```xml
<select id="findUsers" resultType="User">
SELECT * FROM user
WHERE 1=1
<if test="name != null and name != ''">
AND name LIKE CONCAT('%', #{name}, '%')
</if>
<if test="email != null and email != ''">
AND email LIKE CONCAT('%', #{email}, '%')
</if>
</select>
```
2. 在 Java 代码中调用查询方法
```java
public List<User> findUsers(String name, String email) {
Map<String, Object> params = new HashMap<>();
params.put("name", name);
params.put("email", email);
return sqlSession.selectList("findUsers", params);
}
```
在这个示例中,我们定义了一个查询语句,其中使用了动态 SQL 的 if 标签来判断是否需要添加模糊查询条件。在 Java 代码中,我们将查询条件放入一个 Map 中,然后调用 sqlSession 的 selectList 方法来执行查询。这样就可以实现多条件模糊查询了。
阅读全文