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);
}
mongoTemplate简单用法(增删改查)的更多相关文章
- salesforce 零基础学习(五十一)使用 Salesforce.com SOAP API 实现用户登录以及简单的增删改查(JAVA访问salesforce)
此篇请参看:https://resources.docs.salesforce.com/202/latest/en-us/sfdc/pdf/salesforce_developer_environme ...
- MyBatis学习--简单的增删改查
jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...
- 通过JDBC进行简单的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- MyBatis简单的增删改查以及简单的分页查询实现
MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...
- 初试KONCKOUT+WEBAPI简单实现增删改查
初试KONCKOUT+WEBAPI简单实现增删改查 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc4 webapi来实现一个简单增删改查操作.Kn ...
- MVC3.0+knockout.js+Ajax 实现简单的增删改查
MVC3.0+knockout.js+Ajax 实现简单的增删改查 自从到北京入职以来就再也没有接触MVC,很多都已经淡忘了,最近一直在看knockout.js 和webAPI,本来打算采用MVC+k ...
- SpringMVC之简单的增删改查示例(SSM整合)
本篇文章主要介绍了SpringMVC之简单的增删改查示例(SSM整合),这个例子是基于SpringMVC+Spring+Mybatis实现的.有兴趣的可以了解一下. 虽然已经在做关于SpringMVC ...
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
1.通过 pip 安装 pymysql 进入 cmd 输入 pip install pymysql 回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...
- 通过flask实现web页面简单的增删改查bootstrap美化版
通过flask实现web页面简单的增删改查bootstrap美化版 项目目录结构 [root@node1 python]# tree -L 2 . ├── animate.css ├── fileut ...
- 通过flask实现web页面简单的增删改查
通过flask实现web页面简单的增删改查 # 1.后台程序falsk_web01.py #coding:utf-8 from flask import Flask,render_template,r ...
随机推荐
- 中文乱码?不,是 HTML 实体编码!
When question comes 在 如何用 Nodejs 分析一个简单页面 一文中,我们爬取了博客园首页的 20 篇文章标题,输出部分拼接了一个字符串: var $ = cheerio.loa ...
- MYSQL导入,导出命令。
Windows下 命令速度远远快于客户端工具导库 导入SQL文件命令,D:\mysqlserver\bin>mysql -uroot -p e6wifi_content <C:/Users ...
- 解决:sudo: 无法解析主机:dinphy-500-310cn: 连接超时
出现这种问题是hosts文件没有配置好所导致的,linux无法解析到您的主机地址,解决方案如下: sudo vim /etc/hosts 其中vim是你的文本编辑器的命令,你如果电脑中没有vim,用g ...
- npm命令教程
教程:http://www.runoob.com/nodejs/nodejs-npm.html 常用命令:http://www.cnblogs.com/PeunZhang/p/5553574.html
- Google开源库-Volley的使用
一.什么是Volley? Volley is an HTTP library that makes networking for Android apps easier and most import ...
- ReactNative 从环境和第一个demo说起,填坑教程
一.React-Native MacOS必备环境配置: 1.安装homebrew(这东西可以理解为命令行的app商店) /usr/bin/ruby -e "$(curl -fsSL http ...
- Alpha阶段第十次Scrum Meeting
情况简述 Alpha阶段第十次Scrum Meeting 敏捷开发起始时间 2016/11/3 00:00 敏捷开发终止时间 2016/11/4 00:00 会议基本内容摘要 详细定义了API接口,汇 ...
- Zabbix使用点滴
Application --> Items --> Triggers 1.磁盘柜日志输出至Rsyslog服务器,Zabbix抓取:System-Syslogsystem-log(log[/ ...
- 【原】fiddler修改线上的内容
摘要:当我们线上的代码出bug了,咋办呢?有时候本地的代码跟线上的代码还是运行环境还是有区别的.比如有些封装的方法需要运动到手机上可以调试,而浏览器是无法调试的.如果不想每次修改完再放上到测试环境看效 ...
- 如何刷新或清除HttpURLConnection的连接缓存
项目需要定期与远程服务器同步数据,基于如下代码: URL url = new URL("http://test.com/sales/info"); connection = (Ht ...