springMVC操作mongoDB增删改查
下面是mongoDb简单的增删改查(新闻类)
附:query.addCriteria(Criteria.where("modelId").ne("").ne(null)); //非空
query.with(new Sort(new Order(Direction.DESC, "ct"))); //倒叙
多个字段排序:第一排序按照sort降序,第二排序按照ct降序
query.with(new Sort(Direction.DESC, "sort").and(new Sort(Direction.DESC,"ct")));
public class NewsHelpService { @Resource
private MongoTemplate mongoTemplate; //add
public void insert(NewsHelp newsHelp) { mongoTemplate.insert(newsHelp); } //select
public Pagination<NewsHelp> findNewsHelpAll(String type, String title, String id, Integer pageNo,
Integer pageSize) { // QueryPage page = QueryPage.build(pageNo, pageSize);
MandoAssert.notNull(type, "类型不能为空"); Criteria criteria = Criteria.where("type").is(type);
if (title!=null) {
Pattern pattern = Pattern.compile(title, Pattern.CASE_INSENSITIVE); //模糊查询
criteria.andOperator(Criteria.where("title").regex(pattern));
}
if (id!=null) {
criteria.andOperator(Criteria.where("id").is(id));
}
Query query = BasicQuery.query(criteria); long total = mongoTemplate.count(query, NewsHelp.class);
Pagination<NewsHelp> newsHelps = new Pagination<NewsHelp>(pageNo, pageSize); int skip = (pageNo-1)*pageSize;
if (pageSize<1) {
query.skip(skip);// skip相当于从那条记录开始
query.limit(pageSize);// 从skip开始,取多少条记录
}
List<NewsHelp> datas = mongoTemplate.find(query, NewsHelp.class); newsHelps.setData(datas);//获取数据 newsHelps.setTotal((int)total); return newsHelps;
} //selectOne
public NewsHelp findNewsHelp(String id) { Query query = BasicQuery.query(Criteria.where("id").is(id)); NewsHelp newsHelp = mongoTemplate.findOne(query, NewsHelp.class);
return newsHelp;
} // update 新闻类
public void updateNewsHelp(NewsHelp help) {
MandoAssert.notNull(help.getId(), "ID不能为空");
Update update = new Update(); if(null!=help.getTops()){
update.set("tops", help.getTops());
}
if(StringUtils.isNotEmpty(help.getTitle())){
update.set("title", help.getTitle());
}
if(StringUtils.isNotEmpty(help.getContent())){
update.set("content", help.getContent());
}
update.set("modifyDate", new Date()); mongoTemplate.updateMulti(Query.query(Criteria.where("id").is(help.getId())),update,NewsHelp.class); } //delete
public void delNewsHelp(List<String> ids) { ids.stream().forEach(id -> {
Query query = BasicQuery.query(Criteria.where("id").is(id)); mongoTemplate.findAndRemove(query, NewsHelp.class);
});
} }
偶遇晨光原创
下面会讲解一下springMVC+mongodb配置
springMVC操作mongoDB增删改查的更多相关文章
- MongoDB(六)java操作mongodb增删改查
java操作mysql数据库的代码我们已经了如指掌了.增删改查,java对mongodb数据库也是类似的操作,先是数据库连接.再是进行操作. 首先我们进入进入admin数据库.然后建立自己的数据库te ...
- MongoDB - 增删改查及聚合操作
目录 MongoDB - 增删改查及聚合操作 一. 数据库操作(database) 1. 创建及查看库 2. 删除库 二. 集合collectionc=操作(相当于SQL数据库中的表table) 1. ...
- 数据库——MongoDB增删改查
MongoDB增删改查操作 本文包含对数据库.集合以及文档的基本增删改查操作 数据库操作 #1.增 use config #如果数据库不存在,则创建并切换到该数据库,存在则直接切换到指定数据库. #2 ...
- 使用python操作XML增删改查
使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...
- js操作indexedDB增删改查示例
js操作indexedDB增删改查示例 if ('indexedDB' in window) { // 如果数据库不存在则创建,如果存在但是version更大,会自动升级不会复制原来的版本 var r ...
- MySQL数据分析(16)— 数据操作之增删改查
前面我们说学习MySQL要从三个层面,四大逻辑来学,三个层面就是库层面,表层面和数据层面对吧,数据库里放数据表,表里放数据是吧,大家可以回忆PPT中jacky的这图,我们已经学完了库层面和表层面,从本 ...
- Redis简单的数据操作(增删改查)
#Redis简单的数据操作(增删改查): 字符串类型 string 1. 存储: set key value 127.0.0.1:6379> set username zhangsan OK 2 ...
- MongoDB基础入门002--基本操作,增删改查
一.这里只是演示最基本的操作,更多的信息可以去官网.https://docs.mongodb.com/manual 打开一个cmd,输入mongo命令打开shell,其实这个shell就是mongod ...
- 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查
一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...
随机推荐
- C语言编译链接
转载请标明: 编译链接是使用高级语言编程所必须的操作,一个源程序只有经过编译.链接操作以后才可以变成计算机可以理解并执行的二进制可执行文件. 编译是指根据用户写的源程序代码,经过词法和语法分析,将高级 ...
- JavaScript基础--DOM对象加强篇(十四)
1.document 对象 定义:document对象代表的整个html文档,因此可以去访问到文档中的各个对象(元素)document重要的函数 1.1 write 向文档输出文本或js代码 1.2 ...
- memcache详解
MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度. Me ...
- 深入了解Hibernate的缓存使用
Hibernate缓存 缓存是计算机领域的概念,它介于应用程序和永久性数据存储源(如在硬盘上的文件或者数据库)之间,其作用是降低应用程序 直接读写永久性数据存储源的频率,从而提高应用的运行性能.缓存中 ...
- 《JavaScript模式》第3章 字面量和构造函数
@by Ruth92(转载请注明出处) 第3章:字面量和构造函数 一.创建对象的三种方式 // 对象字面量 var car = {goes: "far"}; // 内置构造函数(反 ...
- libevent库1.4升级到2.0时无法flush的解决办法
libevent的接口兼容性做的还算不错,基本上替换一下就转到新版本了.但是,强制flush数据的时候出了问题.目前的应用场景是,遇到顶号登录这种情形,先用bufferevent_write向客户端发 ...
- request获取url的方法总结
辣么多属性.方法 不用就忘了 ,当需要用的时候挠头也想不到,现在总结一下 以备用 例如:http://localhost/testweb/default.aspx 1.Request.Applic ...
- 第八课,T语言功能和参数(版本5.0)
功能的理解 功能是TC移动项目应用的基本模块,通过对功能模块的调用实现特定的功能.TC综合开发工具中的功能相当于其它高级语言的子程序,在其他高级语言中,比如C,C++中,称为函数.允许用户建立自己定义 ...
- CSS样式“display:none”与“visibility:hidden”区别
CSS样式“display:none”和“visibility:hidden”都可以实现将页面元素隐藏,但是具体的效果是有差别的!下面通过两个小实验来说明这种差异. 实验代码: <!DOCTYP ...
- Python-Jenkins 查询job是否存在
def check_jobs_from_jenkins(job_names): if isinstance(job_names, str): job_names = [job_names] job_d ...