/*
mongoDB连接模块
建议mongod.cfg配置文件增加directoryPerDB: true,表示每个数据库均保存在独立同名文件夹中
# Where and how to store data.
storage:
dbPath: D:\Program Files\MongoDB\Server\6.0\data\db
directoryPerDB: true
journal:
enabled: true
不认证直接链接数据库
public MongoClient getConn()
通过用户密码认证链接数据库
public MongoClient getConnByCredit()
使用示例:
mongoConnection = new MongoDbConnection();
//新建连接
mongoClient = mongoConnection.getConn();
//连接数据库对象,如果不存在,创建
database = mongoClient.getDatabase(databaseName);
//处理数据...
mongoGridFS.readFromGridFS("D:\\temp","GAAA0127.mp4");
//关闭连接
mongoClient.close();
ChenLX,2023.5.15
*/
package mongo.gdsky.com.cn;
import com.mongodb.*;
import com.mongodb.MongoClient;
import com.mongodb.client.*;
import java.util.ArrayList;
import java.util.List;
//mongoDB数据库连接
public class MongoDbConnection {
//不认证直接链接数据库
public MongoClient getConn(){
MongoClient mongoClient = new MongoClient("localhost",27017);
//也可使用MongoClientURI
// MongoClientURI mongoClientURI = new MongoClientURI("mongodb://localhost:27017");
// MongoClient mongoClient = new MongoClient(mongoClientURI);
return mongoClient;
}
//通过用户密码认证链接数据库
public MongoClient getConnByCredit(){
String name = "test";//用户名
String dbName = "myDB";//数据库名
char [] pwd = "test".toCharArray();//用户密码(将字符串转换成字符数组)
List<ServerAddress> addresses = new ArrayList<>();
//服务器地址:链接地址,端口号
ServerAddress address = new ServerAddress("localhost",27017);
addresses.add(address);
List<MongoCredential> credentials = new ArrayList<>();
//认证方法需要三个参数,用户名,数据库名,用户密码
MongoCredential credential = MongoCredential.createScramSha1Credential(name,dbName,pwd);
credentials.add(credential);
//创建链接对象
MongoClient mongoClient = new MongoClient(addresses,credentials);
return mongoClient;
}
//测试是否连接成功
public static void main(String[] args) {
MongoDbConnection mongoDbConnection = new MongoDbConnection();
MongoDatabase mongoDatabase = null;
MongoClient mongoClient = mongoDbConnection.getConn();
//MongoClient mongoClient = mongoDBConnection.getConnByCredit();
// 查询所有数据库名称
MongoIterable<String> dbNameList = mongoClient.listDatabaseNames();
System.out.println("查询所有数据库名称:");
for(String dbName : dbNameList)
System.out.println(dbName);
//创建数据库对象
mongoDatabase = mongoClient.getDatabase("myDB");
//查询Test数据库中所有集合名称
MongoIterable<String> colNameList = mongoDatabase.listCollectionNames();
System.out.println("查询myDB数据库中所有集合名称:");
for(String colName: colNameList)
System.out.println(colName);
//关闭连接
mongoClient.close();
}
}
mongoDB数据库连接
最新推荐文章于 2025-11-08 09:19:02 发布
该代码示例展示了如何配置MongoDB的mongod.cfg文件以启用directoryPerDB选项,以及如何通过无认证和用户密码认证方式建立数据库连接。提供了MongoClient的使用方法,包括列出数据库名称、获取数据库对象以及关闭连接。
2493

被折叠的 条评论
为什么被折叠?



