我有一个类,它返回一个<代码>列表
List<UserObject> objectList = UserObjectData.getObjectArray();
在我的存储库中,我有一个可分页对象,它应该从第0页开始每页返回2个项目。它具有以下属性:
System.out.println(pageable.getPageSize()); // returns '2'
System.out.println(pageable.getOffset()); // returns '0'
System.out.println(pageable.getPageNumber()); // returns '0'
然后我创建一个页面
Page<UserObject> theObjects = new PageImpl<UserObject>(objectList, pageable, objectList.size());
... 这就是回归的原因:
System.out.println(theObjects.getSize()); // returns '2'
System.out.println(theObjects.getNumber()); // returns '0'
System.out.println(theObjects.getNumberOfElements()); // returns '184'
System.out.println(theObjects.getTotalElements()); // returns '184'
System.out.println(theObjects.getTotalPages()); // returns '92'
我通过页面
上面的代码看起来是否正确;尤其是
new PageImpl
编辑:以下是完整的代码:
@RestController
public class UserController {
private UserObjectService service;
NewUserRepository newUserRepository;
@RequestMapping(value = "getObjects", method = RequestMethod.GET)
public Page<UserObject> getObjects(@RequestParam int page, @RequestParam int size) {
Pageable pageable = new PageRequest(page,size);
newUserRepository = new NewUserRepository();
Page<UserObject> newPageResult = newUserRepository.findAll(pageable);
return newPageResult;
}
public class NewUserRepository implements PagingAndSortingRepository<UserObject, Long> {
public Page<UserObject> findAll(Pageable pageable) {
List<UserObject> objectList = UserObjectData.getObjectArray(); // I can verify this contains 184 items
Page<UserObject> theObjects = new PageImpl<UserObject>(objectList, pageable, objectList.size());
return theObjects;
}
将页面对象创建更改为:
Page<UserObject> theObjects = new PageImpl<UserObject>(objectList, pageable, (pageable.getOffset() + pageable.getPageSize()));
我有一个简单的JpaRepository和一个finder,它返回按名为“number”的属性降序排列的记录。“number”属性也是我的实体的@Id。这很好,但是有数千条记录,所以我想返回一个页面而不是列表。 如果我将查找器更改为以下内容,则排序不再起作用。我尝试过使用可分页参数的排序功能,但不起作用。还删除了OrderByNumberDesc,但结果相同。 EDIT-添加控制器方法 以下是我的
我想用Spring Data Mongo实现分页。有很多教程和文档建议使用PagingAndSorting Repository,如下所示: 因此,因为PagingAndSorting Repository提供了用于分页查询的api,我可以像这样使用它: 我的问题是这里的findAll方法实际上是在哪里实现的?我需要自己编写它的实现吗?实现StoryRepo的StoryRepoImpl需要实现这个
(授权已经在存储库中使用完成)
我得到了存储库代码: 当我在该查询上运行测试时,我得到了以下Hibernate警告:
我有一个spring boot应用程序,我正在尝试使用spring数据cassandra连接到cassandra数据库。下面是我的文件。 样品pp.java CassandraDataSourceConfig。JAVA 属性文件 下面是我尝试使用嵌入式tomcat服务器启动应用程序时遇到的异常(mvn spring boot:run)。应用程序无法加载无法自动连接字段的投诉:private jav
我正在寻找一个选项来执行Redis BITOP使用Spring redistemplate。我试着在网上搜索一个例子,但找不到任何类似的东西。我能够从JedisStringCommands类获得bitOp函数,但不确定如何使用它。