Java 从页面实例检索全部元素-Spring MVC
利用Spring框架的界面,我可以一次检索50个用户,代码如下:Java 从页面实例检索全部元素-Spring MVC,java,spring,spring-mvc,Java,Spring,Spring Mvc,利用Spring框架的界面,我可以一次检索50个用户,代码如下: int page = 0; int pageSize = 50; Page<User> userPage = userRepo.findByFirstName("Bob", page, pageSize); List<User> userList = userPage.getContent(); 有什么想法吗?如果不想分页,可以忽略spring页面,直接调用userRepo.findByFirstName
int page = 0;
int pageSize = 50;
Page<User> userPage = userRepo.findByFirstName("Bob", page, pageSize);
List<User> userList = userPage.getContent();
有什么想法吗?如果不想分页,可以忽略spring页面,直接调用
userRepo.findByFirstName(“Bob”)代码>
这将返回数据库中名为bob的所有用户
您的方法签名应该是
List<User> users = userRepo.findByFirstName("Bob");
List users=userRepo.findByFirstName(“Bob”);
希望这能解决您的问题如果您总是希望所有用户,而不是按页面,那么您需要在存储库端对此进行调整。将findByFirstName
的签名更改为返回List
而不是Page
,并删除Pageable参数。然后,它将始终返回所有。请参阅有关的更多信息
如果有时需要分页,有时需要获取所有数据,那么只需添加列表
版本即可。返回类型将取决于是否根据Java通常的重载传递Pageable
参数
第页上的hasNext()
方法只告诉您下一页是否可用(用于显示导航),它不会运行另一个查询。您需要构造一个新的Pageable对象,并反复调用页面
版本,以便通过Pageable接口访问所有数据,这比一开始只查询你真正想要的东西效率要低。我知道我可以编写一个新的repo方法来检索它-我只是好奇,是否可以利用页面界面本身以及.next()
这更多地回答了我的问题
List<User> users = userRepo.findByFirstName("Bob");