jar包引入
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.7.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.11.2</version>
</dependency>
直接代码展示
package com.mongo.config;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoClientURI;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper;
import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
import org.springframework.stereotype.Component;
/**
* @ClassName MongoOneConfig
* @Description
* @Date 2022/8/10 10:28
**/
public class MongoOneConfig {
//连接地址
private static String uri = "mongodb://tbook:tbook@172.16.137.215:27017/STC";
public static MongoTemplate mongoTemplate;
private static String twouri = "mongodb://artogrid:artogrid@172.16.97.81:27017/STC";
public static MongoTemplate twoMongoTemplate;
public static MongoTemplate oneInstance() throws Exception {
if(null == mongoTemplate){
return oneMongoTemplate();
}else {
return mongoTemplate;
}
}
public static MongoTemplate twoInstance() throws Exception {
if(null == twoMongoTemplate){
return twoMongoTemplate();
}else {
return twoMongoTemplate;
}
}
public static MongoTemplate oneMongoTemplate() throws Exception {
MappingMongoConverter c =
new MappingMongoConverter(statisFactory(), new MongoMappingContext());
c.setTypeMapper(new DefaultMongoTypeMapper(null));
mongoTemplate = new MongoTemplate(statisFactory(), c);
System.out.println(mongoTemplate.getCollectionNames());
return mongoTemplate;
}
public static MongoTemplate twoMongoTemplate() throws Exception {
MappingMongoConverter c =
new MappingMongoConverter(twoStatisFactory(), new MongoMappingContext());
c.setTypeMapper(new DefaultMongoTypeMapper(null));
twoMongoTemplate = new MongoTemplate(twoStatisFactory(), c);
System.out.println(twoMongoTemplate.getCollectionNames());
return twoMongoTemplate;
}
private static MongoDbFactory statisFactory() throws Exception {
//指定最大链接时间和超时时间
return new SimpleMongoDbFactory(new MongoClient(new MongoClientURI(uri, MongoClientOptions.builder().maxConnectionIdleTime(30000).connectTimeout(5000).connectionsPerHost(50))), "STC");
}
private static MongoDbFactory twoStatisFactory() throws Exception {
//指定最大链接时间和超时时间
return new SimpleMongoDbFactory(new MongoClient(new MongoClientURI(twouri, MongoClientOptions.builder().maxConnectionIdleTime(30000).connectTimeout(5000).connectionsPerHost(50))), "STC");
}
}