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<RedpacketActivity> example = Example.of(redpacketActivity, matcher);
        Page<RedpacketActivity> 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<RedpacketActivity> example = Example.of(redpacketActivity, matcher);
        Page<RedpacketActivity> all = redPacketSetReporsity.findAll(example, pageRequest);

这里写图片描述

以上就是分页查询的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值