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).文档对象 ...
随机推荐
- php大力力 [044节] PHP的POST语句一定要大写!!if(!empty($_POST['id'])) {
早上花了几个小时,寻找错误!!! 不应该这样写 if(!empty($_Post['id'])) { 应该这样写 if(!empty($_POST['id'])) { 万万不能小谢!
- 浅谈SEO-收录(二)
如何更好的让搜索引擎收录网站中的内容,想要被良好的收录,可以尝试一下几点: 一.机器可读 百度通过一个叫做Baiduspider的程序抓取互联网上的网页, 经过处理后建入索引中,目前只支持读文本,fl ...
- [转]一个简单的Linux多线程例子 带你洞悉互斥量 信号量 条件变量编程
一个简单的Linux多线程例子 带你洞悉互斥量 信号量 条件变量编程 希望此文能给初学多线程编程的朋友带来帮助,也希望牛人多多指出错误. 另外感谢以下链接的作者给予,给我的学习带来了很大帮助 http ...
- Oracle数据库习题
以下习题都已Oracle数据库中默认表为主体 1.列出至少有一个员工的所有部门. SELECT DISTINCT D.DNAME FROM EMP E,DEPT D WHERE E.DEPTNO=D. ...
- Python12期培训班-day1-登陆验证代码分享
#!/usr/bin/env python import sys import getpass afile = 'afile' bfile = 'bfile' circulation_num=0 #循 ...
- 第三个Sprint冲刺第五天
讨论地点:宿舍 讨论成员:邵家文.李新.朱浩龙.陈俊金 讨论问题:继续昨天的工作
- RBL开发笔记一
从这个系列开始 陆续记录整个RBL开发的过程 废话不多说 直入主题 10:54:53 2014-08-25 今天开发任务: RBL.h 的框架搭建出来 包括RBLServer RB ...
- 关于 xcode5 真机调试 的 no matching provisioning profiles found
产生原因:在xcode5里面不一定是因为你的真机证书有问题,有可能是因为,项目本来在别的组里有会出现此bug 如果你出现上图的错误,只需要在此项目的***.xcodeproj 文件,然后右键选择“显示 ...
- JSP 数据库连接类 MySql数据库
数据库连接类的主要功能是连接数据库并且获得连接对象,以及关闭数据库.通过创建该类的实例,调用其中的方法,以避免重复操作. package chapter13; import java.sql.*; p ...
- IOS学习笔记34—EGOTableViewPullRefresh实现下拉刷新
移动应用开发中有这么一种场景,就是在列表中显示的数据刷新,有点击刷新按钮刷新的,也有现在最流行的由Twitter首先推出的下拉刷新功能,在IOS中,使用下拉刷新更新UITableView中的数据也用的 ...