JAVA语言之Java的新项目学成在线笔记-day3(一)
小标 2019-02-28 来源 : 阅读 856 评论 0

摘要:本文主要向大家介绍了JAVA语言之Java的新项目学成在线笔记-day3(一),通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言之Java的新项目学成在线笔记-day3(一),通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

JAVA语言之Java的新项目学成在线笔记-day3(一)

1 自定义条件查询 1.1 需求分析 
在页面输入查询条件,查询符合条件的页面信息。
查询条件如下:
站点Id:精确匹配
模板Id:精确匹配
页面别名:模糊匹配
...
1.2 服务端 
1.2.1 Dao 
使用 CmsPageRepository中的findAll(Example<S> var1, Pageable var2)方法实现,无需定义。 
下边测试findAll方法实现自定义条件查询:


//自定义条件查询测试    
      @Test   
  public void testFindAll() {   
     //条件匹配器 
        ExampleMatcher exampleMatcher = ExampleMatcher.matching(); 
exampleMatcher = exampleMatcher.withMatcher("pageAliase",
 ExampleMatcher.GenericPropertyMatchers.contains());     
     //页面别名模糊查询,需要自定义字符串的匹配器实现模糊查询     
    //ExampleMatcher.GenericPropertyMatchers.contains() 包含
 //ExampleMatcher.GenericPropertyMatchers.startsWith()//开头匹配 
              //条件值      
   CmsPage cmsPage = new CmsPage();     
    //站点ID  
       cmsPage.setSiteId("5a751fab6abb5044e0d19ea1");    
     //模板ID       
  cmsPage.setTemplateId("5a962c16b00ffc514038fafd"); //     
  cmsPage.setPageAliase("分类导航");     
    //创建条件实例
        Example<CmsPage> example = Example.of(cmsPage, exampleMatcher);

Pageable pageable = new PageRequest(0, 10);     
   Page<CmsPage> all = cmsPageRepository.findAll(example, pageable);   
     System.out.println(all); 
   }


1.2.2 Service 
在PageService的findlist方法中增加自定义条件查询代码


/**  
   * 页面列表分页查询    
  * @param page 当前页码    
  * @param size 页面显示个数    
  * @param queryPageRequest 查询条件   
   * @return 页面列表    
  */   
 public QueryResponseResult findList(int page,int size,QueryPageRequest queryPageRequest){ 
       //条件匹配器   
      //页面名称模糊查询,需要自定义字符串的匹配器实现模糊查询  
       ExampleMatcher exampleMatcher = ExampleMatcher.matching()                 .withMatcher("pageAliase", ExampleMatcher.GenericPropertyMatchers.contains());      
   //条件值       
  CmsPage cmsPage = new CmsPage();   
      //站点ID   
      if(StringUtils.isNotEmpty(queryPageRequest.getSiteId())){     
       cmsPage.setSiteId(queryPageRequest.getSiteId()); 
        }   
     //页面别名   
      if(StringUtils.isNotEmpty(queryPageRequest.getPageAliase())){      
      cmsPage.setPageAliase(queryPageRequest.getPageAliase());    
     }       
   //创建条件实例    
     Example<CmsPage> example = Example.of(cmsPage, exampleMatcher);    
     //页码  
       page = page‐1;   
      //分页对象    
     Pageable pageable = new PageRequest(page, size);  
       //分页查询      
   Page<CmsPage> all = cmsPageRepository.findAll(example,pageable);  
       QueryResult<CmsPage> cmsPageQueryResult = new QueryResult<CmsPage>();    
     cmsPageQueryResult.setList(all.getContent());   
      cmsPageQueryResult.setTotal(all.getTotalElements());    
     //返回结果      
   return new QueryResponseResult(CommonCode.SUCCESS,cmsPageQueryResult); 
    }


1.2.3 Controller 
无需修改 1.2.4 测试 
使用SwaggerUI测试

 

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程