mongorepository分页条件查询

最近项目有用到mongodb,也是经历了从不会到满百度的查资料,对mongodb有了些许的理解,项目里面总想着偷懒,不想使用template的类去拼写,就找了spring封装好的mongorepository进行查询,大体跟spring-data-jpa差不多,废话不多说了 进入主题

每个版本jar包不同的话,方法会有些许不同,具体进入接口查看使用就行,下面是我项目中使用的 也是从百度找来 然后整合的 自己记录下 如果能帮助到其他同学就更好了

代码如下
旧版分页

Sort sort = new Sort(Sort.Direction.DESC, "createTime");
        PageRequest pageRequest = new PageRequest(query.getPage() - 1, query.getRows(), sort);
        RedpacketActivity redpacketActivity = new RedpacketActivity();
        BeanUtils.copyProperties(query, redpacketActivity);
        ExampleMatcher matcher = ExampleMatcher.matching()
                .withStringMatcher(ExampleMatcher.StringMatcher.CONTAINING) //改变默认字符串匹配方式:模糊查询
                .withIgnoreCase(true) //改变默认大小写忽略方式:忽略大小写
                .withMatcher("name", ExampleMatcher.GenericPropertyMatchers.contains()) //采用“包含匹配”的方式查询
                .withIgnorePaths("pageNum", "pageSize");  //忽略属性,不参与查询;
        Example example = Example.of(redpacketActivity, matcher);
        Page all = redPacketSetReporsity.findAll(example, pageRequest);

新版分页

Sort sort = new Sort(Sort.Direction.DESC, "createTime");
        PageRequest pageRequest = PageRequest.of(query.getPage() - 1, query.getRows(), sort);
        RedpacketActivity redpacketActivity = new RedpacketActivity();
        BeanUtils.copyProperties(query, redpacketActivity);
        ExampleMatcher matcher = ExampleMatcher.matching()
                .withStringMatcher(ExampleMatcher.StringMatcher.CONTAINING) //改变默认字符串匹配方式:模糊查询
                .withIgnoreCase(true) //改变默认大小写忽略方式:忽略大小写
                .withMatcher("name", ExampleMatcher.GenericPropertyMatchers.contains()) //采用“包含匹配”的方式查询
                .withIgnorePaths("pageNum", "pageSize");  //忽略属性,不参与查询;
        Example example = Example.of(redpacketActivity, matcher);
        Page all = redPacketSetReporsity.findAll(example, pageRequest);

mongorepository分页条件查询_第1张图片

以上就是分页查询的方法

你可能感兴趣的:(java)