• SpringData学习03


    滴水穿石

    1、

    CrudRepository 是 Repository 类的一个子集,主要实现了一些 CRUD 的方法

    示例:

       @Transactional
        public void savePersons(List<Person> pList){
            pRepository.save(pList);
        }

    单元测试

      @Test
        public void savesTest(){
            
            List<Person> plist = new ArrayList<>();
            Person p = null;
            for(int i = 'a' ; i < 'z' ; i++){
                p = new Person();
                p.setName(i + "" + i);
                p.setAge(i);
                p.setBrith(new Date());
                p.setEmail(i + "" + i + "@cfb.com");
                plist.add(p);
            }
            pService.savePersons(plist);
        }

    结果: 测试通过,入库成功

     2、

     

    PagingAndSortingRepository 是 CrudRepository  的子类,多了分页方法
    示例:

    service层

    public Page<Person> findForPage(PageRequest pRequest){
            return pRepository.findAll(pRequest);
        }

    单元测试

      @Test
        public void findForPage() {
            int page = 3;
            int size = 5;
            PageRequest pRequest = new PageRequest(page, size);
            Page<Person> plist = pService.findForPage(pRequest);
            System.out.println("总条数: " + plist.getTotalElements());
            System.out.println("总页数: " + plist.getTotalPages());
            System.out.println("当前页数: " + plist.getNumber());
            System.out.println("当前页面记录数: " + plist.getNumberOfElements());
            System.out.println("当前页面List: " + plist.getContent());
        }

    测试结果

    由此可以看出 page 是从 0 开始计算的

    关于排序

    修改上边的分页中的代码

    //关于排序
            Order order1 = new Order(Direction.DESC, "id");
            Order order2 = new Order(Direction.ASC,"email");
            Sort sort = new Sort(order1,order2);
            PageRequest pRequest = new PageRequest(page, size, sort);

     测试结果:

    以上的分页无法通过条件查询

    怎么破?继续往下

    —————————————————————————————————————————————————————————————————————————

    无论如何,心平气和

  • 相关阅读:
    .net 有游戏框架了?庆祝下
    python爬虫解决gbk乱码问题
    N46期第10周作业
    N46期第四周作业
    N46期第三周作业
    N46期第九周作业
    月考
    第二阶段
    N46期第八周作业
    第七周
  • 原文地址:https://www.cnblogs.com/cfb513142804/p/7234018.html
Copyright © 2020-2023  润新知