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 }