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).文档对象 ...
随机推荐
- jetty启动不能保存
主要原因是jetty缓存的静态页面不能被修改.只需要在web.xml文件中配置如下: <servlet> <!-- Override init parameter to avo ...
- qt 程序启动参数 -qws (转至 MrTXK
运行嵌入式程序 在嵌入式QT版本中,程序需要服务器或自己作为服务器程序.服务器程序构造的方法是构造一个QApplication::GuiServe类型的QApplication对象.或者使用-qws命 ...
- node.js学习笔记【1】
http://howtonode.org/how-to-install-nodejs http://www.mcclean-cooper.com/valentino/cygwin_install/
- 简单并查集 -- HDU 1232 UVALA 3644 HDU 1856
并查集模板: #include<iostream> using namespace std; ],x,y; ]; //初始化 x 集合 void init(int n) { ; i< ...
- codeforces 682D(DP)
题目链接:http://codeforces.com/contest/682/problem/D 思路:dp[i][j][l][0]表示a串前i和b串前j利用a[i] == b[j]所得到的最长子序列 ...
- spring整合hibernate配置文件
Spring对hibernate配置文件hibernate.cfg.xml的集成,来取代hibernate.cfg.xml的配置 spring对hibernate配置文件hibernate.cfg.x ...
- Block存储区域
Block存储区域 首先,需要引入三个名词: ● _NSConcretStackBlock ● _NSConcretGlobalBlock ● _NSConcretMallocBlock 正如它们名字 ...
- 没有好看的 Terminal 怎么能够快乐地写代码
换了好几回Terminal默认的配色,真是难看哭了,作为一只有生活追求的序媛,当然不能安(zuo)之(yi)若(dai)素(bi)了 1 自定义 Terminal问候语 sudo pico /etc/ ...
- CentOS 基本设置
CentOS 基本设置 1.更改163源 在使用yum的时候,可能yum被锁,可用如下命令解锁:rm -rf /var/run/yum.id 2.编译安装开源软件 安装自己编译的开源软件一般都会在/u ...
- ArrayBlockingQueue-我们到底能走多远系列(42)
我们到底能走多远系列(42) 扯淡: 乘着有空,读些juc的源码学习下.后续把juc大致走一边,反正以后肯定要再来. 主题: BlockingQueue 是什么 A java.util.Queue t ...