MongoDB springMVC整合mongodb 3.0驱动的异常解决
因为业务原因新整合了 mongo 驱动3.0,使用mongoDB的高级查询。并编写了MongoDBUtil工具类。如图为驱动包的maven依赖。
<!-- mongodb java driver -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.0.2</version>
</dependency>
<!-- Spring data mongodb -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.8.0.RELEASE</version>
</dependency>
MongoDBUtil工具类
package com.xunxin.service.app.user;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.bson.Document;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.MongoException;
import com.mongodb.ServerAddress;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.xunxin.vo.user.UserEntity;
/**
* Copyright © 2017 noseparte(Libra) © Like the wind, like rain
* @Author Noseparte
* @Compile 2017年11月29日 -- 下午4:22:47
* @Version 1.0
* @Description MongoDB 驱动3.0工具类
*/
public final class MongoDBUtil {
private static MongoClient mongoClient = null;
private static MongoDatabase database = null;
private static ServerAddress serverAddress = null;
private static MongoCredential credentials = null;
private static List<ServerAddress> addressLists = new ArrayList<ServerAddress>();
private static List<MongoCredential> credentialsLists = new ArrayList<MongoCredential>();
private static final String IP = "192.168.1.105";
private static final int PORT = 10001;
public static void init() {
try {
serverAddress = new ServerAddress(IP, PORT);
addressLists.add(serverAddress);
// credentials = MongoCredential.createMongoCRCredential("test1", "test",
// "test1".toCharArray());
// credentialsLists.add(credentials);
// mongoClient = new MongoClient(addressLists, credentialsLists);
mongoClient = new MongoClient(addressLists);
} catch (MongoException e) {
System.out.println(e.toString());
}
if (null != mongoClient) {
database = mongoClient.getDatabase("test");
}
}
public static MongoClient getMongoClient() {
if (null == mongoClient) {
init();
}
return mongoClient;
}
/**
* 获取database
*
* @return
*/
public static MongoDatabase getDatabase() {
if (null == mongoClient) {
init();
}
return database;
}
/**
* 获取User Collection
*
* @return
*/
public static MongoCollection<Document> getUserCollection() {
if (null == databa