Spring4分别整合mongo2.X和3.0
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
Spring4分别整合mongo2.X和3.0的更多相关文章
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合(转载)
孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(八)--Mybatis3.x与Spring4.x整合 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: m ...
- Spring集成Mybatis,spring4.x整合Mybatis3.x
Spring集成Mybatis,spring4.x整合Mybatis3.x ============================== 蕃薯耀 2018年3月14日 http://www.cnblo ...
- Struts 2.x 与Spring4.x整合出现:No mapping found for dependency [type=java.lang.String, name='actionPackages...
Struts2.16与Spring4.x整合出错: Caused by: java.lang.RuntimeException: com.opensymphony.xwork2.inject.Depe ...
- 最近用spring4.x整合Jackson------>java.lang.ClassNotFoundException:
最近用spring4.x整合Jackson,结果莫名其妙的一直报错,网上收索的结果都是在maven或者gradle的环境下配置依赖条件解决的:但是eclipseIDE环境下的jar包应该是会自动依赖影 ...
- Struts2+Hibernate4+Spring4框架整合搭建Java项目原型
收藏 http://www.cnblogs.com/mageguoshi/p/5850956.html Struts2+Hibernate4+Spring4框架整合搭建Java项目原型
- (转)阿里官方提供的dubbo-spring-boot-starter 1.0.1 整合的dubbo 2.6.0和spring boot 1.5.9 案例
作者:许浩_5e9f链接:https://www.jianshu.com/p/5381cc8876e3來源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. springboo ...
- Mybatis3.x与Spring4.x整合(转)
http://www.cnblogs.com/xdp-gacl/p/4271627.html 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:cre ...
- MyBatis入门学习教程-Mybatis3.x与Spring4.x整合
一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:create -DgroupId=me.gacl -DartifactId=spring4-myba ...
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合
一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:create -DgroupId=me.gacl -DartifactId=spring4-myba ...
随机推荐
- IE中对于stylesheet的个数限制
对于IE6-9: 1.样式规则最多只能有4095个,多于这个数目的会被忽略: 2.样式表(通过@import, <link> 或 <style>)最多可以有31个(总和),多于 ...
- 转:用 git 下载 uboot 源码
1. 起因: 想下载 uboot 源码,原先的方法都是下载压缩包,然后放到虚拟机上的 Ubuntu ,再解压. 在看 uboot 源码的时候,发现 v2016.01 版本的uboot中关于 board ...
- Entity Framework with MySQL 学习笔记一(关系)
这一篇说说 EF Fluent API 和 DataAnnotations 参考 : http://msdn.microsoft.com/en-us/data/jj591617.aspx http:/ ...
- 关于Action返回结果类型的事儿(下)
原文:关于Action返回结果类型的事儿(下) using System; using System.Collections.Generic; using System.Linq; using ...
- MVC通俗演义系列开篇
最近在读<世界史通俗演义>,发现这本书非常好,比从小上大的历史书好的多.读的开心之余,也不敢跟别人说,怕被说成“通俗”.这跟英文的技术类文章很像.英文中的IT类文章几乎是通俗形象 ...
- Delphi Dcp 和BPL的解释
dcp = delphi compiled package,是 package 编译时跟 bpl 一起产生出来的,记录着 package 中公开的 class.procedure.function.v ...
- 基于HTML5 Canvas的饼状图表实现教程
昨天我们分享了一款基于HTML5的线性图表应用,效果非常不错,可以看在线DEMO或者实现教程.今天我们继续来分享一款基于HTML5的网页图表,它也是利用Canvas绘制的,但是和前面不同的是,这款图表 ...
- leetcode-Consecutive numbers
Write a SQL query to find all numbers that appear at least three times consecutively. +----+-----+ | ...
- openstack手动玩转
<一,preface Important Project Network> openstack or all most cloud env Network desgine is so m ...
- Objective-C priority queue
http://stackoverflow.com/questions/17684170/objective-c-priority-queue PriorityQueue.h // // Priorit ...