• <tr id='KMmboI'><strong id='KMmboI'></strong><small id='KMmboI'></small><button id='KMmboI'></button><li id='KMmboI'><noscript id='KMmboI'><big id='KMmboI'></big><dt id='KMmboI'></dt></noscript></li></tr><ol id='KMmboI'><option id='KMmboI'><table id='KMmboI'><blockquote id='KMmboI'><tbody id='KMmboI'></tbody></blockquote></table></option></ol><u id='KMmboI'></u><kbd id='KMmboI'><kbd id='KMmboI'></kbd></kbd>

    <code id='KMmboI'><strong id='KMmboI'></strong></code>

    <fieldset id='KMmboI'></fieldset>
          <span id='KMmboI'></span>

              <ins id='KMmboI'></ins>
              <acronym id='KMmboI'><em id='KMmboI'></em><td id='KMmboI'><div id='KMmboI'></div></td></acronym><address id='KMmboI'><big id='KMmboI'><big id='KMmboI'></big><legend id='KMmboI'></legend></big></address>

              <i id='KMmboI'><div id='KMmboI'><ins id='KMmboI'></ins></div></i>
              <i id='KMmboI'></i>
            1. <dl id='KMmboI'></dl>
              1. <blockquote id='KMmboI'><q id='KMmboI'><noscript id='KMmboI'></noscript><dt id='KMmboI'></dt></q></blockquote><noframes id='KMmboI'><i id='KMmboI'></i>
                SpringData分页功能 2019-09-26

                在SpringData中实现分页功能我们需要〖将接口实现PagingAndSortingRepository这个接口提供了分页查询的方法

                Page<T> findAll(Pageable pageable); //分页查询(含排序功能)

                @Test public void Pagination() { int pageIndex = 1;// 前台传过来♀的当前页 int pageSize = 5;// 每页需要的记录数 /** * 不带排▲序写法: Pageable pageable = new PageRequest(pageIndex, pageSize); */ // 按照年龄字段排序 Order order = new Order(Direction.DESC, "age"); Sort sort = new Sort(order); Pageable pageable = new PageRequest(pageIndex - 1, pageSize, sort); Page<Student> page = studentService.findAll(pageable); System.out.println("总记录数:" + page.getTotalElements()); System.out.println("当∮前第几页:" + (page.getNumber() + 1)); System.out.println("总页数:" + page.getTotalPages()); System.out.println("当前页的List:" + page.getContent()); System.out.println("当前页面◥的记录数:" + page.getNumberOfElements()); for (Student student : page.getContent()) { System.out.println(student); } }

                这样就可以简↑单的实现我们的分页了,但是瞬时间发现这个分页并不能带∩条件啊。

                SpringData中给我︻们提供了一个接口,我们只需要将我们Dao层接口实▃现JpaSpecificationExecutor就可以达到带条件分页的效果

                @Test public void testJpaSpecificationExecutor(){ int pageIndex = 1; int pagesize = 0; PageRequest pagerequest = new PageRequest(pageIndex - 1, pagesize); Specification<Student> specification = new Specification<Student>() { @Override public Predicate toPredicate(Root<Student> root, CriteriaQuery<?> query, CriteriaBuilder cb) { /** * Root<Student>:表示查询的实体 * CriteriaQuery:可以从中得到root对象,即告知JPA criteria查询要查询哪一个实体类。还可以来添加查询条件。还可以结合EntityManager对象得到最终查询的TypedQuery对象。 * CriteriaBuilder:用于创建Criteria相关对象的工厂。 */ //年龄属性 Path<Integer> path = root.get("age"); Predicate predicate = cb.gt(path, 5);//大于5 return predicate; } }; Page<Student> page = studentDao.findAll(specification, pagerequest); }

                Copyright ? 2019 112222宝马线上娱乐 All Rights Reserved
                张明哲
                地址:台湾省台中市工業區18路5號
                全国统一热线:15113416386