在web项目中使用mongoDB(一)
2017-10-10 22:37
190 查看
MongoDB,作为优秀的非关系型数据库,更适合于存储文档等非结构型数据。彼此独立的文档更适合于使用mongoDB存储。而关系型数据,则需要将这些数据分散到各个表中存储,非常麻烦。
非常幸运的是,spring下的子项目 spring-data已经集成了mongoDB的相关配置实现,只需要花上几分钟,我们可以很方便的在web项目中使用这种数据库了。
步骤:
1.在你的maven中添加spring-data-mongoDB依赖,推荐常用版本1.10.5或1.10.6,对应spring版本4.3.10
2.在你的机器上安装mongoDB,网上很多教程,这里不再累述
3.配置启用mongoDB,首先,我们需要知道有三种方式可以使用mongoDB,
(1)通过注解实现 对象-文档 映射(这样可能会不太好处理对象间的关系)
(2)使用mongoTemplate实现基于模板的数据库访问
(3)自动化的运行时Repository生成功能(相当于前者的自动版本)
因为之前在项目内的关系型数据库,使用了spring-data-jpa的Repository自动生成方法来访问数据库,所以这里也会采用第三种方法。
首先,需要新建一个mongoDB的配置类(或xml文件)
import com.mongodb.Mongo;
import org.fast.web.dao.DaoScanTag;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.core.MongoClientFactoryBean;
import org.springframework.data.mongodb.core.MongoFactoryBean;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
/**
* Created by Administrator on 2017/10/10.
*/
@Configuration
@EnableMongoRepositories(basePackageClasses = DaoScanTag.class)
public class MongoConfig {
/**
* 设置mongoDB的访问地址,并返回一个MongoClient
* 之所以使用factorybean的方式生成MongoClient是因为,可以将mongoDB产生的异常由factorybean自动转换,就不再需要手动处理了
*
* @return
*/
@Bean
public MongoClientFactoryBean mongo() {
MongoClientFactoryBean mongo = new MongoClientFactoryBean();
mongo.setHost("localhost");
return mongo;
}
/**
* 此处需要设置数据库名
* 虽然我们使用自动化Repository,但是其本质依然会调用template,所以在这里需要声明一个mongoTemplate
* @param mongo
* @return
*/
@Bean
public MongoOperations mongoTemplate(Mongo mongo) {
return new MongoTemplate(mongo, "FastDB");
}
}
asd
asd
非常幸运的是,spring下的子项目 spring-data已经集成了mongoDB的相关配置实现,只需要花上几分钟,我们可以很方便的在web项目中使用这种数据库了。
步骤:
1.在你的maven中添加spring-data-mongoDB依赖,推荐常用版本1.10.5或1.10.6,对应spring版本4.3.10
2.在你的机器上安装mongoDB,网上很多教程,这里不再累述
3.配置启用mongoDB,首先,我们需要知道有三种方式可以使用mongoDB,
(1)通过注解实现 对象-文档 映射(这样可能会不太好处理对象间的关系)
(2)使用mongoTemplate实现基于模板的数据库访问
(3)自动化的运行时Repository生成功能(相当于前者的自动版本)
因为之前在项目内的关系型数据库,使用了spring-data-jpa的Repository自动生成方法来访问数据库,所以这里也会采用第三种方法。
首先,需要新建一个mongoDB的配置类(或xml文件)
import com.mongodb.Mongo;
import org.fast.web.dao.DaoScanTag;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.core.MongoClientFactoryBean;
import org.springframework.data.mongodb.core.MongoFactoryBean;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
/**
* Created by Administrator on 2017/10/10.
*/
@Configuration
@EnableMongoRepositories(basePackageClasses = DaoScanTag.class)
public class MongoConfig {
/**
* 设置mongoDB的访问地址,并返回一个MongoClient
* 之所以使用factorybean的方式生成MongoClient是因为,可以将mongoDB产生的异常由factorybean自动转换,就不再需要手动处理了
*
* @return
*/
@Bean
public MongoClientFactoryBean mongo() {
MongoClientFactoryBean mongo = new MongoClientFactoryBean();
mongo.setHost("localhost");
return mongo;
}
/**
* 此处需要设置数据库名
* 虽然我们使用自动化Repository,但是其本质依然会调用template,所以在这里需要声明一个mongoTemplate
* @param mongo
* @return
*/
@Bean
public MongoOperations mongoTemplate(Mongo mongo) {
return new MongoTemplate(mongo, "FastDB");
}
}
asd
asd
相关文章推荐
- vs.net web项目使用visual source safe进行源代码管理(转)
- 也谈log4net 1.2.9 beta的使用(web 项目)
- 使用 NDoc 对 asp.net (Web) 项目产生文档的方法
- vs.net web项目使用visual source safe进行源代码管理
- 在web项目中使用gzip压缩方式提高速度的东东
- [翻译]制作使用Castle Monorail的Web安装项目
- 在Web项目开发中使用BasePage类的巧用(继承System.Web.UI.Page)
- Web项目中使用RDLC报表可以打印吗?
- VS 2005 Web Application Project 项目中Profile的使用方法(更新)
- Web项目中使用RDLC报表可以打印吗?
- VS 2005 Web Application Project 项目中Profile的使用方法[程序文档]
- 项目中使用Spring时配置web.xml的listener侦听接口不能初始化的问题
- log4j在web项目中的实际使用与jboss冲突
- WEB项目中使用Log4net ABC
- 有关Web项目使用EnterpriseLibrary的Sercurity问题
- vs.net web项目使用visual source safe进行源代码管理
- [收藏]vs.net web项目使用visual source safe进行源代码管理
- log4j在web项目中的实际使用
- 使用ODP.NET连接ORACLE的Web项目发布!
- (摘)vs.net web项目使用visual source safe进行源代码管理