mybatis模糊查询
时间: 2023-09-27 16:08:50 浏览: 73
在 MyBatis 中进行模糊查询可以通过使用通配符 `%` 来实现。通配符 `%` 表示任意字符,可以匹配任意长度的字符串。
以下是一个示例 SQL 语句:
```sql
SELECT * FROM users WHERE username LIKE '%john%';
```
在 MyBatis 中,可以使用 `<if>` 元素来动态生成模糊查询的 SQL 语句。
例如,假设我们有一个 UserMapper 接口和对应的 XML 映射文件,我们可以在 XML 文件中编写如下代码:
```xml
<select id="searchUsers" resultMap="userResultMap">
SELECT * FROM users
<where>
<if test="keyword != null">
AND username LIKE CONCAT('%', #{keyword}, '%')
</if>
</where>
</select>
```
在上面的代码中,我们使用了 `<where>` 元素来动态生成 WHERE 子句,然后使用 `<if>` 元素来判断是否需要加入模糊查询条件。如果 `keyword` 参数不为空,就会添加一个类似 `AND username LIKE '%xxx%'` 的条件语句。
接下来,我们可以在 Java 代码中调用 `searchUsers` 方法来进行模糊查询:
```java
List<User> users = userMapper.searchUsers("john");
```
这样就可以查询出所有用户名中包含 "john" 的用户了。
阅读全文