springboot集成spring data jpa使用分页查询(gradle)

it2023-08-10  69

分页查询

service

在UserService中添加下面的方法

Page<User> find(Integer page, Integer size);

并在UserServiceImpl中进行实现

@Autowired UserRepository userRepository; @Override public Page<User> find(Integer page, Integer size) { PageRequest pageable = PageRequest.of(page, size); Page<User> users = userRepository.findAll(pageable); return users; }

其中page是页面 从0开始,size是分页大小。建议在调用该方法时,page和size进行校验

调用测试

@Autowired UserService userService; @Test public void contextLoads() { // for (int i = 0; i < 50; i++) { // String name="lzc"+i; // userRepository.addUserByName(name, "123", 123, "aksjlaklsdf"); // } var list0=userService.find(0,5); list0.forEach(System.out::println); System.out.println(); var list1=userService.find(1,5); list1.forEach(System.out::println); System.out.println(); var list2=userService.find(2,5); list2.forEach(System.out::println); System.out.println(); var list3=userService.find(3,5); list3.forEach(System.out::println); }

输出结果

Hibernate: select user0_.id as id1_0_, user0_.age as age2_0_, user0_.email as email3_0_, user0_.name as name4_0_, user0_.pass as pass5_0_ from user user0_ limit ? Hibernate: select count(user0_.id) as col_0_0_ from user user0_ User(name=lxj, pass=123, age=21, email=jksdf, id=2) User(name=dk, pass=123, age=22, email=asflh, id=3) User(name=tzy, pass=321, age=23, email=ksdja, id=4) User(name=jinx, pass=123, age=123, email=aksjlaklsdf, id=5) User(name=jinx1, pass=123, age=123, email=aksjlaklsdf, id=7) Hibernate: select user0_.id as id1_0_, user0_.age as age2_0_, user0_.email as email3_0_, user0_.name as name4_0_, user0_.pass as pass5_0_ from user user0_ limit ?, ? Hibernate: select count(user0_.id) as col_0_0_ from user user0_ User(name=jinx2, pass=123, age=123, email=aksjlaklsdf, id=9) User(name=jinx3, pass=123, age=123, email=aksjlaklsdf, id=10) User(name=lzc, pass=960929, age=123, email=aksjlaklsdf, id=11) User(name=lzc0, pass=123, age=123, email=aksjlaklsdf, id=12) User(name=lzc1, pass=123, age=123, email=aksjlaklsdf, id=13) Hibernate: select user0_.id as id1_0_, user0_.age as age2_0_, user0_.email as email3_0_, user0_.name as name4_0_, user0_.pass as pass5_0_ from user user0_ limit ?, ? Hibernate: select count(user0_.id) as col_0_0_ from user user0_ User(name=lzc2, pass=123, age=123, email=aksjlaklsdf, id=14) User(name=lzc3, pass=123, age=123, email=aksjlaklsdf, id=15) User(name=lzc4, pass=123, age=123, email=aksjlaklsdf, id=16) User(name=lzc5, pass=123, age=123, email=aksjlaklsdf, id=17) User(name=lzc6, pass=123, age=123, email=aksjlaklsdf, id=18) Hibernate: select user0_.id as id1_0_, user0_.age as age2_0_, user0_.email as email3_0_, user0_.name as name4_0_, user0_.pass as pass5_0_ from user user0_ limit ?, ? Hibernate: select count(user0_.id) as col_0_0_ from user user0_ User(name=lzc7, pass=123, age=123, email=aksjlaklsdf, id=19) User(name=lzc8, pass=123, age=123, email=aksjlaklsdf, id=20) User(name=lzc9, pass=123, age=123, email=aksjlaklsdf, id=21) User(name=lzc10, pass=123, age=123, email=aksjlaklsdf, id=22) User(name=lzc11, pass=123, age=123, email=aksjlaklsdf, id=23)
最新回复(0)