前两篇教程我们介绍了如何搭建MongoDB的本地环境:
以及如何用nodejs读取MongoDB里的记录:
MongoDB最简单的入门教程之二 使用nodejs访问MongoDB
这篇教程我们会介绍如何使用Java代码来连接MongoDB。
如果您是基于Maven进行依赖管理的Java项目,只需要在您的pom.xml里加入下面的依赖定义,
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.6.4</version>
</dependency>
然后使用命令行mvn clean install后,您的本地maven仓库里会多出三个和用Java连接MongoDB相关的库:
-
bson
-
mongodb-driver
-
mongodb-driver-core
当然也可以手动逐一下载jar文件:https://mongodb.github.io/mongo-java-driver/
本文使用的是这三个文件,将它们下载到本地,再加入Java项目的classpath里。
Java代码如下:
package mongoDB;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
public class MongoDBTest {
private static void insert(MongoCollection<Document> collection) {
Document document = new Document("name", "dog");
List<Document> documents = new ArrayList<Document>();
documents.add(document);
collection.insertMany(documents);
}
public static void main(String args[]) {
MongoClient mongoClient = null;
try {
mongoClient = new MongoClient("localhost", 27017);
MongoDatabase mongoDatabase = mongoClient.getDatabase("admin");
System.out.println("Connect to database successfully");
MongoCollection<Document> collection = mongoDatabase
.getCollection("person");
// insert(collection);
FindIterable<Document> findIterable = collection.find();
MongoCursor<Document> mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
System.out.println(mongoCursor.next());
}
}
catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
}
finally{
mongoClient.close();
}
}
}
和教程二相比,上述代码的insert方法里还展示了如何用Java代码给MongoDB数据库里增加记录。
private static void insert(MongoCollection<Document> collection) {
Document document = new Document("name", "dog");
List<Document> documents = new ArrayList<Document>();
documents.add(document);
collection.insertMany(documents);
}
执行Java应用,发现通过insert方法加到数据库的记录也能被顺利读出来。
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码: