mybatisplus 分页
时间: 2023-08-25 11:13:40 浏览: 92
mybatisplus分页查询
MybatisPlus是一个基于Mybatis的增强工具包,它提供了一些方便的功能,包括分页查询。在MybatisPlus中,实现分页查询可以通过拦截器来实现。具体的步骤如下:
1. 首先,在配置类中添加MybatisPlus的拦截器配置。可以通过创建一个@Configuration注解的配置类,在该类中创建一个名为mybatisPlusInterceptor的Bean,并将分页拦截器PaginationInnerInterceptor添加到该拦截器中。示例如下:
```java
@Configuration
public class MybatisConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
```
2. 在控制器中调用分页查询方法。在控制器中,可以使用MybatisPlus提供的Page类来创建一个分页对象,指定当前页和每页显示的记录数。然后,通过调用服务层提供的分页查询方法,将分页对象作为参数传入。示例如下:
```java
@GetMapping("/test")
public Response test(){
Page<Produce> producePage = new Page<>(1, 1);
Page<Produce> page = produceService.page(producePage);
List<Produce> records = page.getRecords();
return new Response<>(records, ResultEnum.SUCCESS);
}
```
3. 使用Lambda表达式进行分页查询。除了上述的方法外,MybatisPlus还提供了使用Lambda表达式进行分页查询的方式。在控制器中,可以使用LambdaQueryChainWrapper来构建查询条件,并通过链式调用的方式进行条件设置和分页查询。示例如下:
```java
@GetMapping("/test")
public Response test(){
Page<Produce> producePage = new Page<>(1, 2);
Page<Produce> page = new LambdaQueryChainWrapper<>(produceService.getBaseMapper())
.select(Produce::getPid, Produce::getPrice)
.lt(Produce::getPid, 5)
.page(producePage);
return new Response<>(page.getRecords(), ResultEnum.SUCCESS);
}
```
综上所述,MybatisPlus提供了多种方式来实现分页查询,可以根据具体的需求选择适合的方法进行使用。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *2* *3* [Mybatis-Plus如何使用分页](https://blog.csdn.net/qq_42682745/article/details/121574682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]
阅读全文