最近后台需要写mongodb与spring项目的整合接口,参阅了网上资料后自己写出了几个方法来分享参考
一:maven引用
<!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
</dependency>
3.2版本以上的都可以,按照个人喜好就行
二:连接mongo配置
package com.suncar.core.util;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
public class MongoHelper {
static final String DBName = "abc";
static final String ServerAddress = "127.0.0.1";
static final int PORT = 27017;
public MongoHelper(){
}
public MongoClient getMongoClient( ){
MongoClient mongoClient = null;
try {
// 连接到 mongodb 服务
mongoClient = new MongoClient(ServerAddress, PORT);
System.out.println("Connect to mongodb successfully");
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
}
return mongoClient;
}
public MongoDatabase getMongoDataBase(MongoClient mongoClient) {
MongoDatabase mongoDataBase = null;
try {
if (mongoClient != null) {
// 连接到数据库
mongoDataBase = mongoClient.getDatabase(DBName);
System.out.println("Connect to DataBase successfully");
} else {
throw new RuntimeException("MongoClient不能够为空");
}
} catch (Exception e) {
e.printStackTrace();
}
return mongoDataBase;
}
public void closeMongoClient(MongoDatabase mongoDataBase,MongoClient mongoClient ) {
if (mongoDataBase != null) {
mongoDataBase = null;
}
if (mongoClient != null) {
mongoClient.close();
}
System.out.println("CloseMongoClient successfully");
}
}
连接服务器地址与数据库都可以定义到config配置里,因项目没有需求暂时不用考虑
三:Dao层编写
package com.suncar.core.dao;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
impo