在mybatis-plus中如何实现模糊查询
时间: 2024-05-07 09:18:45 浏览: 111
在mybatis-plus中实现模糊查询的方法如下:
1. 使用QueryWrapper对象进行模糊查询
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("name", "张三");
List<User> userList = userMapper.selectList(wrapper);
```
这里的"like"方法表示模糊查询,第一个参数表示要查询的字段名,第二个参数表示要查询的值。
2. 使用LambdaQueryWrapper对象进行模糊查询
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.like(User::getName, "张三");
List<User> userList = userMapper.selectList(wrapper);
```
这里使用Lambda表达式来指定要查询的字段,查询方式与QueryWrapper相同。
总结:在mybatis-plus中实现模糊查询可以使用QueryWrapper或LambdaQueryWrapper对象,使用like方法进行模糊查询,第一个参数是要查询的字段名,第二个参数是要查询的值。
相关问题
mybatis-plus整合springboot模糊查询
在MyBatis-Plus中,我们可以使用LambdaQueryWrapper来进行模糊查询的整合。下面是一个示例代码:
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public List<User> searchUser(String keyword) {
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(User::getName, keyword);
return baseMapper.selectList(queryWrapper);
}
}
```
在这个例子中,我们假设有一个User实体类,包含一个name属性。在searchUser方法中,我们创建了一个LambdaQueryWrapper对象,并使用like方法来设置模糊查询条件。在这里,我们使用User::getName来指定要查询的属性,然后传入关键字keyword。
然后,我们调用baseMapper的selectList方法来执行查询,并返回结果。
这样,你就可以在MyBatis-Plus整合Spring Boot中进行模糊查询了。
mybatis-plus-join模糊查询
在 MyBatis-Plus 中,可以通过使用 Wrapper 类来实现模糊查询和多表关联查询。下面是一个示例:
```java
public List<User> selectUserList(String keyword) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("username", keyword)
.or()
.like("email", keyword);
return userMapper.selectList(wrapper);
}
```
在上述代码中,我们使用了 QueryWrapper 类来构建查询条件,使用了 like 方法来实现模糊查询。同时,使用 or 方法来实现关键词匹配 username 或 email 字段的查询。
如果需要进行多表关联查询,可以使用 LambdaQueryWrapper 类来构建查询条件,示例代码如下:
```java
public List<User> selectUserList(String keyword) {
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.like(User::getUsername, keyword)
.or()
.like(User::getEmail, keyword)
.inSql(User::getId, "SELECT user_id FROM user_role WHERE role_id = 1");
return userMapper.selectList(wrapper);
}
```
在上述代码中,我们使用了 LambdaQueryWrapper 类来构建查询条件,使用了 like 方法来实现模糊查询。同时,使用 or 方法来实现关键词匹配 username 或 email 字段的查询。还使用了 inSql 方法来实现关联查询,查询条件为 role_id = 1 的用户。
阅读全文