mongodb 与 spring


Spring Mongodb的配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:mongo="http://www.springframework.org/schema/data/mongo"
   xsi:schemaLocation="http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context-3.0.xsd
          http://www.springframework.org/schema/data/mongo
          http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
          http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
     <bean id="properties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>/WEB-INF/classes/system.properties</value>
<!--<value>system.properties</value> -->
</list>
</property>
</bean>

<!--Mongo 注入  -->
<mongo:mongo host="${mongodb.host}" port="${mongodb.port}" />
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongo" />
<constructor-arg name="databaseName" value="${mongodb.dbname}" />
</bean>

</beans>

例子:


public class Solo {
	private String id;
	private String name;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Solo(String id , String name){
		this.id = id;
		this.name = name;
	}
}


public class SpringMongoTest {
	public static void main(String[] args) {
		ApplicationContext context = new GenericXmlApplicationContext( "spring/*.xml");
		MongoTemplate mt  = (MongoTemplate)context.getBean("mongoTemplate");
		add(mt);
		System.out.println("done");
		
	}
	

	//添加
	public static void add(MongoTemplate mt){
		Solo solo = new Solo("2","wang_2");
		List<Solo> soloList = new ArrayList<Solo>();
		// 将solo对象保存到"solo"这个collection中 
		mt.save(solo);
		// 将solo对象保存到"wmlSolo"这个collection中 
		mt.save(solo,"wmlSolo");
		// 将solo对象保存到"solo"这个collection中 
		mt.insert(solo);
		// 将solo对象保存到"wmlSolo"这个collection中 
		mt.insert(solo, "wmlSolo");
		// 将solo的对象列表(List)保存到"solo"collection中去 
		mt.insert(soloList);
		// 将solo的对象列表(List)保存到"wmlSolo"collection中去 
		mt.insert( soloList,"wmlSolo" );
               
	}
Spring mongodb中,当没有指定collection时,就会把对象保存到以对象命名的collection中。

save和insert的区别:
1)save是,当记录不存在时插入,当记录已存在是更新,实际上就是saveorupdate的意思。
2) insert是:当记录不存在时插入,而如果记录存在时则忽略,继续插入下条。







猜你喜欢

转载自wangmored.iteye.com/blog/1635773
今日推荐