【spring-boot】分页类使用
官方文档
引入分页类
pom.xml中
1 2 3 4 5 | <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.13</version> </dependency> |
公共层 - 分页DTO
pageDTO.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package com.example.pagehelperdemo.common; import java.util.List; import lombok.AllArgsConstructor; import lombok.Data; /** * @author komiles@163.com * @date 2020-04-30 18:54 */ @Data @AllArgsConstructor public class PageDTO<T> { private Long Total; private Integer pageSize; private Integer pageNum; private List<T> list; } |
服务层 - 用户服务类
UserService.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package com.example.pagehelperdemo.service; import com.example.pagehelperdemo.common.PageDTO; import com.example.pagehelperdemo.dao.User; /** * @author komiles@163.com * @date 2020-04-30 18:49 */ public interface UserService { User getOne(Integer id); PageDTO<User> getList(Integer pageNum, Integer pageSize); } |
UserServiceImpl.java 实现类
package com.example.pagehelperdemo.service.impl; import com.example.pagehelperdemo.common.PageDTO; import com.example.pagehelperdemo.dao.User; import com.example.pagehelperdemo.dao.UserExample; import com.example.pagehelperdemo.mapper.UserMapper; import com.example.pagehelperdemo.service.UserService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import java.util.List; import javax.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * @author komiles@163.com * @date 2020-04-30 18:50 */ @Service public class UserServiceImpl implements UserService { @Resource private UserMapper userMapper; @Override public User getOne(Integer id) { return userMapper.selectByPrimaryKey(id); } @Override public PageDTO<User> getList(Integer pageNum, Integer pageSize) { PageHelper.startPage(pageNum,pageSize); UserExample userExample = new UserExample(); userExample.createCriteria(); List<User> userList = userMapper.selectByExample(userExample); PageInfo pageInfo = new PageInfo(userList); PageDTO result = new PageDTO( pageInfo.getTotal(), pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getList()); return result; } }
用户层 - controller
UserController.java
package com.example.pagehelperdemo.controller; import com.example.pagehelperdemo.common.PageDTO; import com.example.pagehelperdemo.dao.User; import com.example.pagehelperdemo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** * @author komiles@163.com * @date 2020-04-30 18:47 */ @RequestMapping("/user") @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/one") public User getOne(@RequestParam("id") Integer id){ return userService.getOne(id); } @GetMapping("/list") public PageDTO<User> getList(@RequestParam(value = "page",defaultValue = "1") Integer page, @RequestParam(value = "limit",defaultValue = "10") Integer limit){ return userService.getList(page,limit); } }
启动文件
访问地址:http://127.0.0.1:6066/user/list?page=1&limit=10
项目demo地址
https://github.com/KoMiles/spring-example/tree/master/page-helper-demo
千里之行,始于足下。改变现在,就是改变未来。改变未来,从现在开始。
分类:
spring-boot
标签:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架