您的位置:首页 > 数据库 > Mongodb

在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: