首页 > 技术文章 > 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_01-自定义查询页面-服务端-Dao

wangjunwei 2019-09-21 20:52 原文

在页面输入查询条件,查询符合条件的页面信息。
查询条件如下:
站点Id:精确匹配
模板Id:精确匹配
页面别名:模糊匹配

spring mongoDB如何自定义条件
在Repository的findAll方法里面有个参数是Example 其实就是存放条件的

Example有个泛型T

指定的就是查询条件对象的类型



完整的查询代码


检索到3条记录

随便还一个 没有的站点

查不到 数据

加上模板id的查询条件



条件都注释掉



查询的就是所有的的 第一页的数据 每页显示1条记录。

页面别名查询



模糊匹配








这里我们使用包含

匹配器最终返回一个exampleMathcher 。我们用定义好的 exampleMathcher  来接收它

搜索到的数据。模糊查询


最终代码

 @Test
    public void testfindAllByExample(){
        int page=0;//页码从0开始
        int size=10;
        Pageable pageable=PageRequest.of(page,size);
        CmsPage cmsPage = new CmsPage();
//        cmsPage.setSiteId("5a751fab6abb5044e0d19ea1");
        cmsPage.setPageAliase("轮播");
        //条件匹配器
        ExampleMatcher exampleMatcher = ExampleMatcher.matching();
        exampleMatcher = exampleMatcher.withMatcher("pageAliase", ExampleMatcher.GenericPropertyMatchers.contains());
        Example<CmsPage> example = Example.of(cmsPage,exampleMatcher);
        Page<CmsPage> all = cmsPageRepository.findAll(example,pageable);
        List<CmsPage> content = all.getContent();
        System.out.println(content);
    }

 

推荐阅读