使用MyEclipse对MongoDB数据库进行增删改查操作(一)

2015-07-24 07:45:47 · 作者: · 浏览: 0

使用MyEclipse对MongoDB数据库进行增删改查操作

1.导入JAR包

\

?

使用了Spring3.0;此类包,可以上网查询“MongoDB相关JAR包”

2.创建一个Person实体类

源代码如下:

?

public class Person(){
//属性
Private String id;	 //id
Private String name;	 //name
Private int age;	 //age
//构造方法
public Person(){
}
public Person(String name,int age){
this.name = name;
this.age  = age;
}
public Person(String id,String name,int age){
this.id	  = id;
this.name = name;
this.age  = age;
}
public String toString(){
return “Person[ id = ”+id+“name=”+name+“age=”+age +”]”;
}
/**以下为属性的get/set方法**/
.................................
}
 
/**以上代码中一共有三个构造方法,用于传递参数数据**/ 
 

?

\

3.创建一个方法接口

?

1. 创建一个名为AbstractRepository 的接口,源代码如下:

?

public interface AbstractRepository(){
//增加方法
public void insert(Person person);
//按ID查询对象
public Person findOne(String id);
//查询所有
public List
  
    findAll();
//按ID删除
public void removeOne(String id);
//删除所有
public void removeAll();
//查询并修改
public void findAndModfy(String id);
}
 
  
\

?

4.接口方法实现类

1.创建一个名为PersonRepository的类并现实AbstractRepository 接口

源代码如下:

?

public class PersonRepository implements AbstractRepository{
 
Private MongoTemplate mongoTemplate;
 
/**mongoTemplate的get/set方法**/
public MongoTemplate getMongoTemplate(){
return mongoTemplate;
} 
 
public void setMongoTemplate(MongoTemplate mongoTemplate) {
this.mongoTemplate = mongoTemplate;
}
 
//查询所有
public List
  
    findAll(){
return getMongoTemplate().find(new Query, Person.class);
}
 
 
 
//查询修改
public void findAndModify(){
getMongoTemplate().updateFirst(new Query(Criteria.where(“id”)).is(id) ,
new Update().inc(“age” , 3));
}
 
 
 
 
//按条件查询
public List
   
     findAll(){ Pattern pattern = Pattern.compile(regex,Pattern.CASE_INSENSITIVE); Criteria criteria = new Criteria(“name”).regex(pattern.toString()); return getMongoTemplate().find(new Query(criteria), Person.class) } //按ID查询对象 public Person findOne(String id){ return getMongoTemplate().findOne(new Query(Criteria.where(“id”).is(id), Person.class)); } //增加 public void insert(Person person){ getMongoTemplate().insert(person); } //删除所有 public void removeAll(){ List
    
     list = this.finAll(); If(list != null){ for(Person person:list){ getMongoTemplate().remove(person) } } } //按ID删除 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)){ getMongoTemplate().remoev(getMongoTemplate().findOne(query, Person.class)); } } } }
    
   
  

?

5.配置ApplicationContext.xml

我们使用了Spring,自然要配置ApplicationContext;因为各版本不同,所以ApplicationContext.xml中的系统默认头代码请复制我以下的来使用,要不然会代码错误:

?


  

    
 

   

   

   

    
     
      
       
      
     
    
   

   

    
     
    
   

  

?

ApplicationContext.xml代码如图,虽然左上角出现红X的错误提示。提示的

信息大概是有重复的注释。不用去管他,只要代码里面没有红线就好。

\

6.写测试类进行测试

创建一个有mian方法的测试类Test:部分方法的源代码如下:

?

public class Test{
 
private static log log = logFactory.getlog(Test.class.getName());
 
private AbstractRepository pr = null;
 
//初始方法
public void init(){
log.debug(“开始启动”);
ApplicationContext ac = new ClassPathXmlApplicationContext(
“applicationContext.xml”);
pr = (PersonRepository) ac.getbean(“personRepository”);
}
 
//添加方法
public void insert(){
Person p = new Person(“id1”,“c