MongoDB 提供了Java語言操作的驅動jar,我使用的版本是:mongo-java-driver-3.2.2.jar
驅動jar下載地址:https://mongodb.github.io/mongo-java-driver/
以下是創建Mongo連接,獲取數據庫和表的方法,拿到表以后可以進行增刪改查的操作,后續章節會更新。
1 /** 2 * 初始化連接池,設置參數。 3 */ 4 private static void init() { 5 6 // 參數依次是:鏈接池數量 最大等待時間 scoket超時時間 設置連接池最長生命時間 連接超時時間 7 MongoClientOptions options = MongoClientOptions.builder() 8 .connectionsPerHost(Integer.parseInt(ConfigUtil.getParameter("mongodb.connectionsPerHost"))) 9 .maxWaitTime(Integer.parseInt(ConfigUtil.getParameter("mongodb.maxWaitTime"))) 10 .socketTimeout(Integer.parseInt(ConfigUtil.getParameter("mongodb.socketTimeout"))) 11 .maxConnectionLifeTime(Integer.parseInt(ConfigUtil.getParameter("mongodb.maxConnectionLifeTime"))) 12 .connectTimeout(Integer.parseInt(ConfigUtil.getParameter("mongodb.connectTimeout"))).build(); 13 14 // 連接到MongoDB服務 如果是遠程連接可以替換“localhost”為服務器所在IP地址 15 // ServerAddress()兩個參數分別為 服務器地址 和 端口 16 ServerAddress serverAddress = new ServerAddress(ConfigUtil.getParameter("mongodb.hostName"), 17 Integer.parseInt(ConfigUtil.getParameter("mongodb.port"))); 18 List<ServerAddress> addrs = new ArrayList<ServerAddress>(); 19 addrs.add(serverAddress); 20 21 // 三個參數分別為 用戶名 數據庫名稱 密碼 22 MongoCredential credential = MongoCredential.createScramSha1Credential( 23 ConfigUtil.getParameter("mongodb.username"), ConfigUtil.getParameter("mongodb.databaseName"), 24 ConfigUtil.getParameter("mongodb.password").toCharArray()); 25 List<MongoCredential> credentials = new ArrayList<MongoCredential>(); 26 credentials.add(credential); 27 28 // 通過連接認證獲取MongoDB連接 29 client = new MongoClient(addrs, credentials, options); 30 }
1 /** 2 * 根據名稱獲取DB,相當於是連接 3 * 4 * @param dbName 5 * @return 6 */ 7 public static MongoDatabase getDatabase() { 8 if (client == null) { 9 // 初始化 10 init(); 11 } 12 return client.getDatabase(ConfigUtil.getParameter("mongodb.databaseName")); 13 } 14 /** 15 * 獲取Collection 16 * @param collectionName 17 * @return 18 */ 19 public static MongoCollection<Document> getCollection(String collName){ 20 if (client == null) { 21 // 初始化 22 init(); 23 } 24 MongoDatabase db = getDatabase(); 25 MongoCollection<Document> collection = db.getCollection(collName); 26 return collection; 27 }
