java 中 mongodb的各种操作(二)
来源:互联网 发布:struts2书籍推荐 知乎 编辑:程序博客网 时间:2024/05/29 15:39
一、 pplication.xml配置文件
package com.mongo.dao;
import java.util.List;
import com.mongo.bean.Person;
/**
* TODO
* @author cuiran
* @version TODO
*/
public interface AbstractRepository {
/**
*
*<b>function:</b>添加对象
* @author cuiran
* @createDate 2012-12-12 11:41:30
*/
public void insert(Person person);
/**
*
*<b>function:</b>根据ID查找对象
* @author cuiran
* @createDate 2012-12-12 11:41:41
*/
public Person findOne(String id);
/**
*
*<b>function:</b>查询所有
* @author cuiran
* @createDate 2012-12-12 16:26:06
*/
public List<Person> findAll();
public List<Person> findByRegex(String regex);
/**
*
*<b>function:</b>删除指定的ID对象
* @author cuiran
* @createDate 2012-12-12 16:26:16
*/
public void removeOne(String id);
/**
*
*<b>function:</b>删除所有
* @author cuiran
* @createDate 2012-12-12 16:25:40
*/
public void removeAll();
/**
* 通过ID找到并修改
*<b>function:</b>
* @author cuiran
* @createDate 2012-12-12 16:25:51
*/
public void findAndModify(String id);
}
再写对应接口的实现类:
package com.mongo.dao.impl;
import java.util.List;
import java.util.regex.Pattern;
import org.springframework.data.document.mongodb.MongoTemplate;
import org.springframework.data.document.mongodb.query.Criteria;
import org.springframework.data.document.mongodb.query.Query;
import org.springframework.data.document.mongodb.query.Update;
import com.mongo.bean.Person;
import com.mongo.dao.AbstractRepository;
public class PersonRepository implements AbstractRepository {
private MongoTemplate mongoTemplate;
@Override
public List<Person> findAll() {
return getMongoTemplate().find(new Query(), Person.class);
}
@Override
public void findAndModify(String id) {
getMongoTemplate().updateFirst(new Query(Criteria.where("id").is(id)), new Update().inc("age", 3));
}
@Override
public List<Person> findByRegex(String regex) {
// TODO Auto-generated method stub
Pattern pattern = Pattern.compile(regex,Pattern.CASE_INSENSITIVE);
Criteria criteria = new Criteria("name").regex(pattern.toString());
return getMongoTemplate().find(new Query(criteria), Person.class);
}
@Override
public Person findOne(String id) {
return getMongoTemplate().findOne(new Query(Criteria.where("id").is(id)), Person.class);
}
@Override
public void insert(Person person) {
getMongoTemplate().insert(person);
}
@Override
public void removeAll() {
List<Person> list = this.findAll();
if(list != null){
for(Person person : list){
getMongoTemplate().remove(person);
}
}
}
@Override
public void removeOne(String id) {
Criteria criteria = Criteria.where("id").in(id);
if(criteria == null){
Query query = new Query(criteria);
if(query != null && getMongoTemplate().findOne(query, Person.class) != null)
getMongoTemplate().remove(getMongoTemplate().findOne(query, Person.class));
}
}
public MongoTemplate getMongoTemplate() {
return mongoTemplate;
}
public void setMongoTemplate(MongoTemplate mongoTemplate) {
this.mongoTemplate = mongoTemplate;
}
}
- java 中 mongodb的各种操作(二)
- java 中 mongodb的各种操作
- java 中 mongodb的各种操作
- java 中 mongodb的各种操作
- java 中 mongodb的各种操作查询
- java 中 mongodb的各种操作 模糊查询 精确查询 等等
- java 中 mongodb的各种操作 模糊查询 精确查询 等等
- java 中 mongodb的各种操作 模糊查询 精确查询 等等
- java 中 mongodb的各种操作 模糊查询 精确查询 等等
- MongoDB基础学习二----MongoDB中常用的索引操作
- MongoDB学习笔记(二) JAVA对MongoDB的操作
- 二、MongoDB的操作
- MongoDB学习笔记(二)使用Java操作MongoDB
- Java 中对Mongodb 的基本操作
- MongoDB的常用操作(二)
- MongoDB数据库的基本操作(二)
- spark中transformation操作的各种算子(java版)
- java中,文件的各种操作
- android studio 下shareSDK的步骤
- Assignment 6 2-4
- 使用Linux命令行测试网速
- Yii2 操作确认提示
- iOS-数据缓存
- java 中 mongodb的各种操作(二)
- PHP unserialize出现Error at offset错误
- VisionMobile:2015年Android使用的全球趋势(七)印度用户从手机中获取最多
- Java五种单例模式与线程安全
- Activity——Activity的Flags
- 融云SDK/客户端获取token
- Android studio导入eclipse的项目时,l解决libpng warning: iCCP: Not recognizing known sRGB profile that has be
- 计算机视觉方面代码
- seoreZoveM.283