分页时查找数量:

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);
}

  

mongoTemplate简单用法(增删改查)的更多相关文章

  1. salesforce 零基础学习(五十一)使用 Salesforce.com SOAP API 实现用户登录以及简单的增删改查(JAVA访问salesforce)

    此篇请参看:https://resources.docs.salesforce.com/202/latest/en-us/sfdc/pdf/salesforce_developer_environme ...

  2. MyBatis学习--简单的增删改查

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...

  3. 通过JDBC进行简单的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  4. MyBatis简单的增删改查以及简单的分页查询实现

    MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...

  5. 初试KONCKOUT+WEBAPI简单实现增删改查

    初试KONCKOUT+WEBAPI简单实现增删改查 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc4 webapi来实现一个简单增删改查操作.Kn ...

  6. MVC3.0+knockout.js+Ajax 实现简单的增删改查

    MVC3.0+knockout.js+Ajax 实现简单的增删改查 自从到北京入职以来就再也没有接触MVC,很多都已经淡忘了,最近一直在看knockout.js 和webAPI,本来打算采用MVC+k ...

  7. SpringMVC之简单的增删改查示例(SSM整合)

    本篇文章主要介绍了SpringMVC之简单的增删改查示例(SSM整合),这个例子是基于SpringMVC+Spring+Mybatis实现的.有兴趣的可以了解一下. 虽然已经在做关于SpringMVC ...

  8. python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作

    1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...

  9. 通过flask实现web页面简单的增删改查bootstrap美化版

    通过flask实现web页面简单的增删改查bootstrap美化版 项目目录结构 [root@node1 python]# tree -L 2 . ├── animate.css ├── fileut ...

  10. 通过flask实现web页面简单的增删改查

    通过flask实现web页面简单的增删改查 # 1.后台程序falsk_web01.py #coding:utf-8 from flask import Flask,render_template,r ...

随机推荐

  1. Sniffer的完整代码,基于winpcap抓包统计吞吐量

    using System; using System.Net; using System.Net.Sockets; using System.Net.NetworkInformation; using ...

  2. python使用uuid库生成唯一id

    概述: UUID是128位的全局唯一标识符,通常由32字节的字符串表示. 它可以保证时间和空间的唯一性,也称为GUID,全称为: UUID -- Universally Unique IDentifi ...

  3. Prince2七大原则(4)

    我们先来回顾一下,PRINCE2七大原则分别是持续的业务验证,经验学习,角色与责任,按阶段管理,例外管理,关注产品,剪裁. 第四个原则:按阶段管理. 阶段管理其实是给高层提供了项目生命周期中相对应的控 ...

  4. ubuntu中 不同JDK版本之间的切换

    Ubuntu中JDK 的切换前提是同时安装了多个版本,如jdk7和jdk8,若要切换,在终端输入: sudo update-alternatives --config java sudo update ...

  5. Jquery 关于span标签的取值赋值用法

    span是最简单的容器,可以当作一个形式标签,其取值赋值方法有别于一般的页面元素. //赋值 $("#spanid").html(value) //取值 $("#span ...

  6. cxf设置代理访问webservice接口

    由于业务上的需要,需要访问第三方提供的webservice接口,但由于公司做了对外访问的限制,不设置代理是不能外网的,如果使用http设置代理访问外网还是比较容易的,但使用cxf有点不知道从哪里入手. ...

  7. BZOJ 1878: [SDOI2009]HH的项链

    1878: [SDOI2009]HH的项链 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 3548  Solved: 1757[Submit][Statu ...

  8. sokect编程进阶

    IO模型 什么是IO? IO:input和output的缩写,即输入/输出端口.每个设备都会有一个专用的I/O地址,用来处理自己的输入输出信息 同步.异步.阻塞.非阻塞 同步和异步的概念描述的是用户线 ...

  9. php无法创建中文名的文件

    需要使用iconv强制转换后才可以.

  10. C#算法知识点记录

    针对算法的知识点进行记录 简易桶排序 首先看一个简易桶排序,有一串数字,进行从大到小排列.数字间隔不大,使用一维数组来当作桶,进行插入排序. static void Main(string[] arg ...