mybatis plus 条件分页查询功能
时间: 2023-09-03 08:09:30 浏览: 106
Mybatis-Plus是Mybatis的增强工具,在Mybatis的基础上进行了功能扩展和封装,提供了更加便捷的操作方式。
Mybatis-Plus提供了lambda表达式和条件构造器两种方式进行条件查询,其中条件构造器是Mybatis-Plus最常用的方式,其可以灵活的构造复杂的查询条件。
下面以条件分页查询为例,介绍Mybatis-Plus的条件构造器的用法。
1. 引入Mybatis-Plus依赖
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
```
2. 创建条件构造器
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
```
3. 添加查询条件
```java
queryWrapper.eq("name", "张三") //等于
.ne("age", 20) //不等于
.gt("age", 18) //大于
.lt("age", 30) //小于
.ge("create_time", "2021-01-01") //大于等于
.le("create_time", "2021-06-30") //小于等于
.like("email", "@qq.com") //模糊查询
.in("id", Arrays.asList(1, 2, 3)) //in查询
.isNull("phone") //为空
.isNotNull("address") //不为空
.orderByAsc("age"); //升序排序
```
4. 执行分页查询
```java
Page<User> page = new Page<>(1, 10); //查询第1页,每页10条记录
IPage<User> userPage = userService.page(page, queryWrapper);
List<User> userList = userPage.getRecords(); //获取查询结果列表
long total = userPage.getTotal(); //获取查询总记录数
```
其中,`page`表示分页信息,`userService`表示Mybatis-Plus生成的service,`queryWrapper`表示查询条件。执行`userService.page(page, queryWrapper)`即可执行分页查询。
以上就是Mybatis-Plus条件分页查询的基本用法。Mybatis-Plus还提供了很多其他的查询方式和操作方式,具体可以参考官网文档。
阅读全文