精华内容
下载资源
问答
  • Spring Boot JPA分页 PageRequest.of代替过时的PageRequest方法 该篇博客记录了关于Spring Data JPA之 new PageRequest遇到的问题 最近在学习Spring Data Jpa数据持久层这一块知识的时候,在编些dao接口的单元测试...

    Spring Boot JPA分页 PageRequest.of代替过时的PageRequest方法

    该篇博客记录了关于Spring Data JPA之  new PageRequest遇到的问题

    最近在学习Spring Data Jpa数据持久层这一块知识的时候,在编些dao接口的单元测试类的时候回用到pageable分页能,发现在 new PageRequest时发现该方法已经被启用。

     

    看到这里,不由的去查看pageRequest的源码,看到下面发现,定义了关于PageRequest of的static (静态)方法(废话少说,先上源码):

    public static PageRequest of(int page, int size) {
    		return of(page, size, Sort.unsorted());
    	}
    
    	/**
    	 * Creates a new {@link PageRequest} with sort parameters applied.
    	 *
    	 * @param page zero-based page index.
    	 * @param size the size of the page to be returned.
    	 * @param sort must not be {@literal null}.
    	 * @since 2.0
    	 */
    	public static PageRequest of(int page, int size, Sort sort) {
    		return new PageRequest(page, size, sort);
    	}
    
    	/**
    	 * Creates a new {@link PageRequest} with sort direction and properties applied.
    	 *
    	 * @param page zero-based page index.
    	 * @param size the size of the page to be returned.
    	 * @param direction must not be {@literal null}.
    	 * @param properties must not be {@literal null}.
    	 * @since 2.0
    	 */
    	public static PageRequest of(int page, int size, Direction direction, String... properties) {
    		return of(page, size, Sort.by(direction, properties));
    	}

    看到这里,终于了解了,以后要实现分页功能的时候,不要用new PageRequest()方法,而是直接调用PageRequest.of方法。

     

    解决方案:

    代替分页功能的方法是不要new PageRequest,而是直接调用PageRequest.of这个方法,并根据你的有需求选择参数

    对比一下我写的小测试类下new PageRequest和PageRequest.of的方法:

    原来:

      /**
         * PagingAndSortingRepository分页测试
         */
        @Test
        @Transactional
        public void testPagingAndSortingRepositoryPaging(){
    
            //Pageable:封装了分页的参数,当前页,每页的显示的条数。注意:他的当前页是从0开始
            Pageable pageable = new PageRequest(0,10);
    
            Page<Users> page = this.usersRepositoryPagingAndSorting.findAll(pageable);
            System.out.println("总条数:"+page.getTotalElements());
            System.out.println("总页数:"+page.getTotalPages());
            List<Users> list =page.getContent();
            for (Users users:list){
                System.out.println(users);
            }
        }

    最终:

      /**
         * PagingAndSortingRepository分页测试
         */
        @Test
        @Transactional
        public void testPagingAndSortingRepositoryPaging(){
    
            //Pageable:封装了分页的参数,当前页,每页的显示的条数。注意:他的当前页是从0开始
            
            Pageable pageable = PageRequest.of(0,5);
            Page<Users> page = this.usersRepositoryPagingAndSorting.findAll(pageable);
            System.out.println("总条数:"+page.getTotalElements());
            System.out.println("总页数:"+page.getTotalPages());
            List<Users> list =page.getContent();
            for (Users users:list){
                System.out.println(users);
            }
        }

    最后运行查看效果:

    展开全文
  • PageRequest方法过时

    千次阅读 2019-10-09 16:32:51
    //方法一 Pageable pageable=new PageRequest(0,5); //方法二 Pageable pageable1=PageRequest.of(1,4); 方法一会提示已经过时,可用方法二替代
    //方法一
            Pageable pageable=new PageRequest(0,5);
            //方法二
            Pageable pageable1=PageRequest.of(1,4);

    方法一会提示已经过时,可用方法二替代

    展开全文
  • 今天用 Pageable pageable = new PageRequest(vo.getPageNumber(), vo.getPageSize(), Sort.Direction.ASC, “id”);这个方法,提示PageRequest废弃了,看着不爽 解决办法: 新的写法不用new PageRequest,直接...

    今天用 Pageable pageable = new PageRequest(vo.getPageNumber(), vo.getPageSize(), Sort.Direction.ASC, “id”);这个方法,提示PageRequest废弃了,看着不爽

    • 解决办法:

    新的写法不用new PageRequest,直接用 PageRequest.of这个方法 根据你的需求选择入参

    • 代码示例:
        @Override
        public Page<ToDoEventList> findEventsByPage(EventParam vo) {
            Pageable pageable = PageRequest.of(vo.getPageNumber(), vo.getPageSize(), Sort.Direction.ASC, "eventId");
            return toDoEventRepository.findAll(getCondition(vo), pageable);
        }
      
    • 老代码:
        @Override
        public Page<ToDoEventList> findEventsByPage(EventParam vo) {
            Pageable pageable = new PageRequest(vo.getPageNumber(), vo.getPageSize(), Sort.Direction.ASC, "eventId");
            return toDoEventRepository.findAll(getCondition(vo), pageable);
        }
      
    展开全文
  • 分页查询(PageRequest对象)相关函数

    万次阅读 2019-03-15 11:55:54
    在执行查询方法时,可以传入一个PageRequest对象,代表进行分页查询。 PageRequest对象代表了查询的条件和约束,通常包含当前页数,每页几条数据。 也可以在分页查询时指定Direction或Sort。 查询的结果为Page&...

     

     

    相关函数如下:

    在执行查询方法时,可以传入一个PageRequest对象,代表进行分页查询。
    		PageRequest对象代表了查询的条件和约束,通常包含当前页数,每页几条数据。
            也可以在分页查询时指定Direction或Sort。
    
    查询的结果为Page<T>对象,包含当前页所及所有数据相关信息。
    		Page对象常用方法:
    		getTotalPages()  总共有多少页
    		getTotalElements()   总共有多少条数据
    		getNumber() 获取当前页码
    		getSize() 每页指定有多少元素
    		getNumberOfElements() 当前页实际有多少元素
    		hasContent() 当前页是否有数据
    		getContent() 获取当前页中所有数据(List<T>)
    		getSort() 获取分页查询排序规则
    		isFirst() 当前页是否是第一页
    		isLast() 当前页是否是最后一页
    		hasPrevious() 是否有上一页
    		hasNext() 是否有下一页
    

     

    遍历每一页数据:

    @Autowired
    	private pageDisplay pagedisplay;
     
        @Test
    	public void contextLoads_page() {
    		// 排序(排序规则)
    		Order idOrder = new Order(Direction.DESC, "id");
    		Order nameOrder = new Order(Direction.ASC, "name");
    		Sort sort = new Sort(idOrder, nameOrder);
            // 从第一条数据开始,每一页数据2条,排序规则为 sort
    		Pageable pageable = new PageRequest(1, 2, sort);
    		Page<Customer> findAll = null;
    		List<Customer> content = null;
    		///输出(判断下一页是否存在)
    		while(pageable != null) {
    			findAll = pagedisplay.findAll( pageable);
    			content = findAll.getContent();
    			System.out.println("------------------------------");
    			System.out.println( content );  // list 数据
    			System.out.println("------------------------------");
    			pageable = findAll.nextPageable();
    		}	
    	}

     

    展开全文
  • SpringbootJPA分页 PageRequest过时替换方法 Pageable pageable = new PageRequest(page - 1,size); 替换成: Pageable pageable = PageRequest.of(page - 1,size);
  • Springboot 分页 PageRequest过时的办法

    千次阅读 2019-01-29 14:52:15
    替代的方法是不要new PageRequest,而是直接用 PageRequest.of这个方法 根据你的需求选择入参; Pageable pageable =new PageRequest(pageNum - 1,pageLimit); 换成 Pageable pageable =PageRe...
  • 【Springboot】关于SpringbootJPA分页 PageRequest过时的办法 看了网上很多博客,都是在用 new PageRequest的方法创建Pageable对象。可是估计很多同学写了之后才发现原来这个方法作者已经标记为过时了; 替代的方法...
  • SpringbootJPA分页 PageRequest过时替代办法 1. 原因 最近学习spring data JPA 时候要用到分页功能,但是发现网上所有教程都是通过new PageRequest()方法解决分页,实际使用中发现已经过时 2. 解决方案 替代的方法...
  • public PageRequest(int page, int size, Direction direction, String... properties) { this(page, size, Sort.by(direction, properties)); } /** @deprecated */ @Deprecated public PageRequest(int ...
  • 1.情况 2.原因是SpringbootJPA分页 PageRequest方法已经过时 3.解决方法: PageRequest.of(pageNumber, pageSize)
  • 在执行查询方法时,可以传入一个PageRequest对象,代表进行分页查询。 PageRequest对象代表了查询的条件和约束,通常包含当前页数,每页几条数据。 也可以在分页查询时指定Direction或Sort。 查询的结果为Page&...
  • The constructors PageRequest(...) is deprecated

    千次阅读 2018-12-28 22:18:47
    pageDevice = repo.findAll(new PageRequest(1, 10, Sort.Direction.DESC, "createdate")); 但发现IDE有提示,说是目前这个PageRequest的构造方法过时了,想着最新的写法是什么? 从St...
  • org.springframework.data.domain.PageRequest

    千次阅读 2017-03-16 11:26:21
    Spring中用于分页的一个Bean,里面的属性有当前页号,分页大小以及排序方式等... http://static.springsource.org/spring-data/commons/docs/current/api/index.html?org/springframework/data/domain/PageRequest.html
  • 不多说,先代码,后解释 问题代码: Sort sort = Sort.by(Sort.Direction.... Pageable pageable = PageRequest.of(0,size,sort); 报错代码: Error:(73, 29) java: PageRequest(int,int,org.springframework.data.dom...
  • Sort sort = new Sort(Sort....Pageable pageable = new PageRequest(0, size, sort); 改为: Sort sort = Sort.by(Sort.Direction.DESC, “blogs.size”); Pageable pageable= PageRequest.of(0, size, sort);
  • 项目中通过openid来查买家订单主表,那么多的话就的考虑分页显示了public interface OrderMasterRepository extends JpaRepository&lt;OrderMaster, String&... Page&lt;OrderMaster&gt; findByB...
  • 分页查询:PageRequest、PageImpl

    千次阅读 2020-03-23 22:29:17
    public interface OrderMasterRepository extends JpaRepository<OrderMaster, String>... Page<OrderMaster> findByBuyerOpenid(String buyerOpenid, Pageable pageable); } @Test public v...
  • Page是一个泛型接口,代表查询的单页结果集,也有其他信息。常用以下方法 int getTotalPages() //返回总的页数 long getTotalElements() //返回总行数 List<T> getContent() //返回查询结果集的List ...
  • Sort和PageRequest方法过时问题的解决办法

    千次阅读 多人点赞 2020-04-22 10:10:21
    2.'PageRequest(int, int, org.springframework.data.domain.Sort)' has protected access in 'org.springframework.data.domain.PageRequest' 1,2解决办法: @Override public List listTypeTop(Integer size) { ...
  • Springboot2 Jpa关于分页PageRequest.of()

    万次阅读 2018-10-25 19:24:34
    PageRequest pageRequest=new PageRequest(0,10); 这明显是过期了,不能容忍的强迫症犯发,点进去API查看 发现3个构造器都@Deprecated注解,说明过时的调用方式,不推荐使用. 再往下看,可以找到static的方法,...
  • 1. 具体业务描述:以下代码块为查一个订单列表并且按照最近时间优先先查出来 @CrossOrigin ... public ModelAndView list(@RequestParam(value = "page",defaultValue = "1") Integer page, @RequestPa...
  • 用spring data写分页查询,在前后端分离时遇到的问题查询方法:传入Pagable对象,返回一个Page对象 public Page<BookInfo> query(BookCandition bookCandition, Pageable pageable) { }原因传入Pagable对象通过RPC传...
  • //使用PageRequest 设置起始页与页数大小 Example<Staff> ex = Example.of(result.getExample()); //利用jpa中的方法将条件转为Example类型 Page<Staff> all = staffdao.findAll(ex, request); //调用jpa中的...
  • 改为

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 524,653
精华内容 209,861
关键字:

pagerequest