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     }

 

posted @ 2017-09-14 20:20  咚吆007  阅读(2899)  评论(0编辑  收藏  举报