工作需要,开始使用mongodb来存储数据,并且mongodb设置了用户名密码,java访问时需要带密码访问,写这篇文章以便记录使用过程,大神略过。
main函数前加入如下代码:
public static MongoClient mongoClient;
static {
//普通帐号登录
// MongoClientURI uri = new MongoClientURI("mongodb://user:123456@127.0.0.1:27017/db1");
//管理员admin登录
MongoClientURI uri = new MongoClientURI("mongodb://admin:123456@127.0.0.1:27017");
MongoCredential credential = null;
//是否配置了密码
credential = MongoCredential.createScramSha1Credential("admin", "admin", "123456".toCharArray());
mongoClient = new MongoClient(uri);
}
//封装取得数据库函数
public static MongoDatabase getDB(String dbName) {
if (dbName != null && !"".equals(dbName)) {
MongoDatabase database = mongoClient.getDatabase(dbName);
return database;
}
return null;
}
以下代码在main函数中执行,可以遍历集合名称
public static void main(String[] args) throws Exception {
//============================
//测试
MongoDatabase mongoDatabase = getDB("imapi");
MongoIterable<String> colls = mongoDatabase.listCollectionNames();
List<String> _list = new ArrayList<String>();
for (String s : colls) {
System.out.println(s);
_list.add(s);
}
//============================
}
以上部分就是在java中访问mongodb的简单方法,本例使用springboot测试通过,pom.xml配置中需要添加内容如下:
<!-- mongodb驱动相关 -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>org.mongodb.morphia</groupId>
<artifactId>morphia</artifactId>
<version>1.3.2</version>
</dependency>
|