zoukankan      html  css  js  c++  java
  • spring boot中 mongdb 多条件复杂查询

    1.dao层继承MongoRepository

    public interface PFlowLineStationHourDao extends MongoRepository<PFlowLineStationHourEntity, Long>{

    }

    2.service层注入PFlowLineStationHourDao ,MongoTemplate

    例:

    @Service

    public class PFlowLineServiceImpl  implements PFlowLineService{

    @Autowired

    public PFlowLineStationHourDao pFlowLineStationHourDao;

    @Autowired

            private MongoTemplate mongoTemplate;

            public List<?> queryPFlowLineStationHour(PFlowQueryParam param) {
    Query query = new Query();
    if(param.getDates().size()>0){
    query.addCriteria(Criteria.where("yearMonthDate").in(param.getDates()));
    }else{
    int beginDate = Integer.parseInt(DateUtil.getYearMonthDayFormat(DateUtil.getDayBefore(param.getBegintime())));
    int endDate = Integer.parseInt(DateUtil.getYearMonthDayFormat(DateUtil.getDayAfter(param.getEndtime())));
    query.addCriteria(Criteria.where("yearMonthDate").gte(beginDate).lte(endDate));
    }
    if(param.getLineCodes().size()>0){
    query.addCriteria(Criteria.where("lineCode").in(param.getLineCodes()));
    }
    if(param.getStationnames().size()>0){
    query.addCriteria(Criteria.where("stationname").in(param.getStationnames()));
    }
    if(param.getAreacodes().size()>0){
    query.addCriteria(Criteria.where("areacode").in(param.getAreacodes()));
    }
    return mongoTemplate.find(query, PFlowLineStationHourEntity.class);
    }

    }


  • 相关阅读:
    JSP基础
    线程控制
    多线程简述
    Servlet生命周期
    同步代码块和同步方法有什么区别?
    java.sql.Date和java.util.Date的区别
    Java自学指南五、编码工具
    基本类型和包装类的区别?
    什么是包装类?为什么要有包装类?基本类型与包装类如何转换?
    什么是Java的垃圾回收机制?
  • 原文地址:https://www.cnblogs.com/timeboy/p/9464402.html
Copyright © 2011-2022 走看看