功能说明
以前要做一个分页查询需要做的:
- 每个接口都需要接收分页参数
- 写一个查询特定页数据的SQL
- 写一个查询总记录数的SQL
- 写一个分页查询结果的实体类
- 将结果拼到分页查询结果的实体类中,并响应给前端
- 如果需要导出Excel,又需要写一堆POI操作
用这个包后需要做的:
- 在需要分页查询的接口上增加@Pager这个注解
- 写一个常规的查询(无需带分页)
- 如果需要导出Excel,在@Pager上增加一点配置,再写一个简单的导出类即可
环境要求
- Java8及以上
- SpringBoot1.2及以上 + 基于Servlet的Web支持
- Mybatis 3.x
Maven
在项目的pom.xml中加入本项目的依赖:
... org.cat73 mybatis-pager-spring-boot-starter 版本号 ...
为接口增加分页支持
在注解了@RequestMapping的方法上增加注解@Pager,即可让这个接口中的查询支持分页
一般情况下,这个方法中应只有一次查询(也可允许多次,后面会讲)
默认只支持返回Map,且key为data的值应为Collection的子类,例:
/** * 用于测试分页的接口呢 */@RestController@RequestMapping("/api/demo")public class DemoController { @Autowired private IDemoService service; @Pager // 分页注解 @GetMapping("/list") public Map list() { List list = this.service.listAll(); // 只有一次查询,值应为`Collection`的子类 Map result = new HashMap<>(); result.put("data