一个分页的类

public class PageView<T> {
/**查询记录集合**/
List<T> records;
/**当前页码**/
int currentPage = 1;
/**记录总数目**/
long totalCount;
/**每页显示记录数**/
int perPage = 10;
/**总页数**/
long totalPage;
/**当前页记录起始索引**/
int index;
/**需要在分页中显示的页码索引数**/
long pageRange = 10;
/**需要在分页中显示的页码索引范围**/
PageIndex pageIndex;


public List<T> getRecords() {
return records;
}
public void setRecords(List<T> records) {
this.records = records;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public long getTotalCount() {
return totalCount;
}
public void setTotalCount(long totalCount) {
this.totalCount = totalCount;
setTotalPage((totalCount % perPage) == 0 ? (totalCount / perPage) : (totalCount / perPage + 1));
}
public int getPerPage() {
return perPage;
}
public void setPerPage(int perPage) {
this.perPage = perPage;
}
public long getTotalPage() {
return totalPage;
}
public void setTotalPage(long totalPage) {
this.totalPage = totalPage;
}

public int getIndex(){
return (currentPage-1) * perPage;
}



public long getPageRange() {
return pageRange;
}
public void setPageRange(long pageRange) {
this.pageRange = pageRange;
}
public PageIndex getPageIndex() {
long beginPage = this.currentPage - (this.pageRange%2 == 0 ? this.pageRange/2 - 1 : this.pageRange/2);
long endPage = this.currentPage + this.pageRange/2;
if(beginPage < 1){
beginPage = 1;
if(pageRange <= totalPage) endPage = this.pageRange;
else endPage = totalPage;
}
if(endPage > totalPage){
endPage = totalPage;
if(endPage - this.pageRange > 0) beginPage = endPage - pageRange + 1;
else beginPage = 1;
}
this.pageIndex = new PageIndex(beginPage, endPage);
return pageIndex;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用 Spring Boot 实现分页的示例。 1. 创建实体类 首先,我们需要创建一个实体类,用于映射数据库表中的数据。这里我们以用户表为例,创建一个 User 实体类。 ```java @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Integer age; private String email; // getter 和 setter 略 } ``` 2. 创建 DAO 接口 接下来,我们需要创建一个 DAO 接口,用于操作数据库。这里我们以 JpaRepository 为例,创建一个 UserRepository 接口。 ```java @Repository public interface UserRepository extends JpaRepository<User, Long> { } ``` 3. 创建 Service 类 为了更好地分离业务逻辑和数据访问层,我们需要创建一个 Service 类,用于处理业务逻辑。这里我们以 UserService 为例。 ```java @Service public class UserService { @Autowired private UserRepository userRepository; public Page<User> getUsers(Integer pageNum, Integer pageSize) { Pageable pageable = PageRequest.of(pageNum, pageSize); return userRepository.findAll(pageable); } } ``` 4. 创建 Controller 类 最后,我们需要创建一个 Controller 类,处理 HTTP 请求并返回相应的响应。这里我们以 UserController 为例。 ```java @RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; @GetMapping("") public Page<User> getUsers(@RequestParam(defaultValue = "0") Integer pageNum, @RequestParam(defaultValue = "10") Integer pageSize) { return userService.getUsers(pageNum, pageSize); } } ``` 5. 测试 现在我们可以启动应用程序并测试分页功能了。打开浏览器并访问 `http://localhost:8080/users?pageNum=1&pageSize=10`,应该能看到第 2 页的用户信息。 以上就是使用 Spring Boot 实现分页的简单示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值