1.pom文件添加:
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>2.14.2</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.7.2.RELEASE</version> </dependency>
2.Spring配置文件的頭信息,其中只需關注mongo的三行就行:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mongo="http://www.springframework.org/schema/data/mongo" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd ">
<mongo:mongo-client host="172.16.10.247" port="27017" id="mongo">
<mongo:client-options write-concern="SAFE"/>
</mongo:mongo-client>
<mongo:db-factory id="mongoDbFactory" dbname="db_mongo" mongo-ref="mongo" /> //注釋,這句為了說明有賬號密碼而已,實際項目中沒有這句<mongo:db-factory dbname="db_mongo" mongo-ref="mongo" username="qqw_reward" password="Reward_New001"/>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>
</beans>
3.DAO層代碼:
package com.companyname.publicbase.dao; import java.util.List; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; public interface BaseMongoDao { public <T> List<T> find(Class<T> clazz); public <T> T findOne(Query query, Class<T> clazz); public <T> void update(Query query, Update update, Class<T> T); //批量更新 public <T> void updatemulti(Query query, Update update, Class<T> clazz); public <T> void save(T entity); public <T> T findById(String id, Class<T> clazz); public <T> long count(Query query, Class<T> clazz); public <T> void remove(Query query, Class<T> clazz); }
4.DAO實現類的代碼:
package com.companyname.publicbase.dao.impl; import java.util.List; import javax.annotation.Resource; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; @Repository @Transactional(rollbackFor=Exception.class) public class BaseMongoDaoImpl<T>{ /*@Resource MongoTemplate mongoTemplate; public List<T> find(Query query, Class<T> clazz) { return (List<T>) mongoTemplate.find(query, clazz); }*/ @Resource private MongoTemplate mongoTemplate; public List<T> find(Query query, Class<T> clazz) { System.out.println(mongoTemplate); return (List<T>) mongoTemplate.find(query, clazz); } /** * spring mongodb 集成操作類 */ /*@Autowired private MongoTemplate mongoTemplate; public List<T> find(Query query, Class<T> clazz) { return (List<T>) mongoTemplate.find(query, clazz); } */ /*public T findOne(Query query, Class<T> clazz) { return (T) mongoTemplate.findOne(query, clazz); } public void update(Query query, Update update, Class<T> clazz) { mongoTemplate.findAndModify(query, update, clazz); } //批量更新 public void updatemulti(Query query, Update update, Class<T> clazz) { mongoTemplate.updateMulti(query, update, clazz); } public void save(T entity) { mongoTemplate.insert(entity); } public T findById(String id, Class<T> clazz) { return (T) mongoTemplate.findById(id, clazz); } public long count(Query query, Class<T> clazz){ return mongoTemplate.count(query, clazz); } public void remove(Query query, Class<T> clazz){ mongoTemplate.remove(query, clazz); } */ }
這樣Spring4整合mongo3.X就結束了,如果報這個異常:NoClassDefFoundError: org/springframework/objenesis/ObjenesisStd,
就說明你用的不是spring4.x,到此恭喜你已經整合完畢了。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面就是整合mongo2.x的內容了,這個spring3.2起碼是沒有問題的,來!下面開始整理:
1.pom文件:
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>2.12.4</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.6.1.RELEASE</version> </dependency>
2.Spring文件:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mongo="http://www.springframework.org/schema/data/mongo" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.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/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd ">
<mongo:mongo host="172.16.10.247" port="27017"/>
<mongo:db-factory dbname="db_mongo" mongo-ref="mongo" username="qqw_reward" password="Reward_New001"/>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>
</beans>
3.java調用就跟上面一樣了,dao和實現類都是一樣的,就這樣兩套都整理完了,有什么要完善的再回來改,之前測試過是沒有問題的,百分百能跑,
也可以看看這個怎么寫的http://blog.csdn.net/chenpy/article/details/50458787