zoukankan      html  css  js  c++  java
  • 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);

     测试结果:

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

    怎么破?继续往下

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

    无论如何,心平气和

  • 相关阅读:
    手脱ASPack v2.12变形壳2
    手脱nSPack 2.1
    WCF分布式开发步步为赢(1):WCF分布式框架基础概念
    一个经典例子让你彻彻底底理解java回调机制
    C#三层架构详细解剖
    eclipse快捷键及各种设置
    设计模式总结
    程序猿也爱学英语(上)
    关于PDA、GPS等动态资源的几种GIS解决方案
    通过VS2010性能分析来查找代码中那些地方最损耗资源
  • 原文地址:https://www.cnblogs.com/cfb513142804/p/7234018.html
Copyright © 2011-2022 走看看