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