前两篇教程我们介绍了如何搭建MongoDB的本地环境:
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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码: