java操作mongodb——連接數據庫


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     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM