mybatis-plus模糊+条件查询
时间: 2023-08-29 19:10:16 浏览: 74
Mybatis-Plus的模糊查询可以使用`like`方法,可以结合Lambda条件构造器进行条件查询。
示例代码如下:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "张"); // 模糊查询name字段中包含“张”的记录
queryWrapper.eq("status", 1); // 筛选status字段等于1的记录
List<User> userList = userMapper.selectList(queryWrapper);
```
上述代码中使用`like`方法进行模糊查询,其中第一个参数为要查询的字段名,第二个参数为要匹配的模糊字符串。
同时,结合Lambda条件构造器进行条件查询,`eq`方法表示相等查询。
更多Mybatis-Plus的查询方法可以参考官方文档:https://baomidou.com/guide/wrapper.html#lambda%E6%9D%A1%E4%BB%B6%E6%9E%84%E9%80%A0%E5%99%A8
相关问题
mybatis-plus模糊查询加条件查询
Mybatis-plus 提供了方便的 API 来实现模糊查询和条件查询。
模糊查询可以使用 `like` 来实现,示例代码如下:
```java
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.like("name", "keyword");
```
这里的 `Entity` 是实体类,`name` 是字段名,`keyword` 是要查询的关键字。
条件查询可以使用 `eq`、`ne`、`gt`、`ge`、`lt`、`le` 等方法,示例代码如下:
```java
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.eq("age", 18)
.ne("status", 0)
.gt("salary", 5000)
.le("create_time", "2022-01-01");
```
这里的 `Entity` 是实体类,`age`、`status`、`salary`、`create_time` 是字段名,数字和日期类型使用对应的方法,字符串类型使用 `eq`、`ne`、`like` 等方法。通过组合多个条件可以实现更复杂的查询。
另外,如果需要使用多个条件进行查询,可以使用 `and` 和 `or` 方法来连接多个查询条件,示例代码如下:
```java
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.eq("age", 18)
.or()
.eq("age", 20)
.and()
.like("name", "keyword");
```
这里的 `Entity` 是实体类,`age`、`name` 是字段名,使用 `or` 方法表示或者,使用 `and` 方法表示并且。
mybatis-plus模糊分页查询
mybatis-plus模糊分页查询可以通过使用Wrapper构建查询条件,然后使用Page对象进行分页查询。其中,模糊查询可以使用like方法,例如:
```
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("username", "张三");
Page<User> page = new Page<>(1, 10);
IPage<User> userPage = userMapper.selectPage(page, wrapper);
```
上述代码中,使用QueryWrapper构建查询条件,使用like方法进行模糊查询,然后使用Page对象进行分页查询,最后使用selectPage方法进行查询。查询结果会返回一个IPage对象,其中包含了查询结果和分页信息。