mongoTemplate簡單用法(增刪改查)


分頁時查找數量:

public long countSample(String id) {
        Query query = new Query();
        if (StringUtil.hasText(id))
            query.addCriteria(Criteria.where("creator").is(id));

        return mongoTemplate.count(query, Sample.class);
    }

  分頁:

 public List<Sample> searchAllSample(String id, PageTag page) {
        Query query = new Query();
        query.with(new Sort(new Sort.Order(Sort.Direction.DESC, "update_date")));
        int skip = (page.getCurrentPage() - 1) * page.getPageSize();
        if (StringUtil.hasText(id)) {
            Criteria criteria = Criteria.where("creator").is(id);
            query.addCriteria(criteria);
        }
        query.skip(skip);// 從那條記錄開始
        query.limit(page.getPageSize());// 取多少條記錄
        return mongoTemplate.find(query, Sample.class);
    }

  修改數量:

 public void modifyHitNumByNo(String no) {
        Query query = new Query();
        query.addCriteria(Criteria.where("sap_no").is(no));
        Update update = new Update();
        update.inc("hit_num", 1);
        mongoTemplate.updateFirst(query, update, Project.class);
    }

  模糊查詢:

 public List<Sample> findSamples(String memberId, SelectVo selectVo) {
        Criteria criteria = Criteria.where("creator").is(memberId);
        if (StringUtil.hasText(selectVo.getName())) {
            Pattern pattern = Pattern.compile("^.*" + selectVo.getName() + ".*$", Pattern.CASE_INSENSITIVE);
            criteria.orOperator(Criteria.where("projectNo").regex(pattern), Criteria.where("name").regex(pattern));
        }
        return findPageList(Query.query(criteria), Sample.class, new PageTag(selectVo.getPage(), selectVo.getPageSize()));
    }

  一般查詢:

public List<Project> getProjects(String creator) {
        Query query = new Query();
        if (StringUtil.hasText(creator)) {
            Criteria criteria = Criteria.where("creator").is(creator);
            query.addCriteria(criteria);
        }
        return mongoTemplate.find(query, Project.class);
    }

  

 public Experiment getExperimentByExpNo(String expNo) {
        Query query = new Query();
        Criteria criteria = Criteria.where("exp_no").is(expNo);
        query.addCriteria(criteria);
        return mongoTemplate.findOne(query, Experiment.class);
    }

  

  public void saveOrUpdateExperiment(Experiment experiment) {

        if (StringUtil.hasText(experiment.getExpNo())) {
            Query query = new Query();
            Criteria criteria = Criteria.where("exp_no").is(experiment.getExpNo());
            query.addCriteria(criteria);
            Experiment exp = mongoTemplate.findAndRemove(query, Experiment.class);
            experiment.setCreator(exp.getCreator());
            experiment.setCreateDate(exp.getCreateDate());
        }

        mongoTemplate.save(experiment);
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM