zoukankan      html  css  js  c++  java
  • 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);
        }
    

      

  • 相关阅读:
    [更新] Jetbrains IntelliJ IDEA 2019 的许可证密钥
    GoldenDict(for Linux)配置无道词典
    MATLAB datenum日期转换为Python日期
    【科研】之科研镜像
    ubuntu开机自动挂载硬盘
    Python列表(list)所有元素的同一操作
    yum运行报错:File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^SyntaxError: invalid syntax
    Glibc编译报错:*** These critical programs are missing or too old: as ld gcc
    Glibc编译报错:*** LD_LIBRARY_PATH shouldn't contain the current directory when*** building glibc. Please change the environment variable
    Python编译升级
  • 原文地址:https://www.cnblogs.com/blog411032/p/6076588.html
Copyright © 2011-2022 走看看