博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot+2个mongoTemplate
阅读量:6149 次
发布时间:2019-06-21

本文共 2207 字,大约阅读时间需要 7 分钟。

hot3.png

在开发过程中有的时候需要像mysql那样需要使用多个mongodb数据库。

可以使用mongodb配置使用多个mongotemplate

在pom.xml中引入

org.springframework.boot
spring-boot-starter-data-mongodb

在配置文件中配置多个uri

spring.data.mongodb1.uri=mongodb://192.168.0.66/test1spring.data.mongodb2.uri=mongodb://192.168.0.66/test2

新建配置文件

@Configurationpublic class MongoConfig {    @Value("${spring.data.mongodb1.uri}")    private String mongodb1;    @Value("${spring.data.mongodb2.uri}")    private String mongodb2;    @Bean    public MongoMappingContext mongoMappingContext() {        return new MongoMappingContext();    }     /**      * 配置mongodb1       */    @Bean    public MappingMongoConverter mappingMongoConverter() throws UnknownHostException {        DefaultDbRefResolver dbRefResolver = new DefaultDbRefResolver(this.mongoDbFactory1());        MappingMongoConverter converter = new MappingMongoConverter(dbRefResolver, this.mongoMappingContext());        converter.setTypeMapper(new DefaultMongoTypeMapper(null));        return converter;    }    @Bean    @Primary    public MongoDbFactory mongoDbFactory1() throws UnknownHostException {        return new SimpleMongoDbFactory(new MongoClientURI(mongodb1));    }    @Bean    @Primary    public MongoTemplate mongoTemplate1() throws UnknownHostException {        return new MongoTemplate(this.mongoDbFactory1(), mappingMongoConverter());    }    /**     * 配置mongdodb2     */    @Bean    public MongoDbFactory mongoDbFactory2() throws UnknownHostException {        return new SimpleMongoDbFactory(new MongoClientURI(mongodb2));    }    @Bean    public MongoTemplate mongoTemplate2() throws UnknownHostException {        return new MongoTemplate(this.mongoDbFactory2());    }}

测试文件中引入多个MongoTemplate

@RunWith(SpringRunner.class)@SpringBootTestpublic class DemoApplicationTests {    @Resource    MongoTemplate mongoTemplate1;    @Resource    MongoTemplate mongoTemplate2;    @Test    public void contextLoads() {        User user = new User();        user.setUsername("sher");        mongoTemplate1.save(user);        User user1 = new User();        user1.setUsername("java");        mongoTemplate2.save(user1);    }}

测试结果:

162315_E9JI_3125112.png

162352_cXLV_3125112.png

转载于:https://my.oschina.net/u/3125112/blog/1581043

你可能感兴趣的文章
word2010中去掉红色波浪线的方法
查看>>
fabric上下文管理器(context mangers)
查看>>
JQuery-EasyUI Datagrid数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
查看>>
并发和并行的区别
查看>>
php小知识
查看>>
Windows下安装、运行Lua
查看>>
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解(二)
查看>>
初识中间件之消息队列
查看>>
MyBatis学习总结(三)——优化MyBatis配置文件中的配置
查看>>
Spring常用注解
查看>>
我的友情链接
查看>>
PCS子层有什么用?
查看>>
查看端口,关闭端口
查看>>
代码托管平台简介
查看>>
linux:yum和apt-get的区别
查看>>
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>
Mindjet MindManager 2019使用教程:
查看>>