在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进行校验
输出结果
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)注:若findAll不填参数,可调用List findAll(); 返回结果为数据表中的所有数据
在springboot2.2.1(含)以上的版本Sort已经不能再实例化了,构造方法已经是私有的了!
以按年龄降序查询所有用户信息
原调用写法为:
//先定义 Order规则 //Direction.DESC 表示倒序 //"age" 表示对id 进行倒序排序 Sort.Order order = new Sort.Order(Sort.Direction.DESC, "age"); Sort sort = new Sort(order);//本行Sort构造方法报错 var allUsersSort=userRepository.findAll(sort); allUsersSort.forEach(System.out::println);新写法为:
var allUsersSort=userRepository.findAll(Sort.by(Sort.Direction.DESC,"age")); allUsersSort.forEach(System.out::println);运行结果:
//结果上部省略,一下是返回结果的最后,可以看见输出顺序已按age降序排列 User(name=lzc39, pass=123, age=123, email=aksjlaklsdf, id=51) User(name=lzc40, pass=123, age=123, email=aksjlaklsdf, id=52) User(name=lzc41, pass=123, age=123, email=aksjlaklsdf, id=53) User(name=tzy, pass=321, age=23, email=ksdja, id=4) User(name=dk, pass=123, age=22, email=asflh, id=3) User(name=lxj, pass=123, age=21, email=jksdf, id=2) User(name=lzc19, pass=123, age=5, email=aksjlaklsdf, id=31) User(name=lzc17, pass=123, age=4, email=aksjlaklsdf, id=29) User(name=lzc10, pass=123, age=3, email=aksjlaklsdf, id=22) User(name=lzc, pass=960929, age=2, email=aksjlaklsdf, id=11) User(name=lzc2, pass=123, age=1, email=aksjlaklsdf, id=14)