MongoDB 批量写入 Java 实现流程
流程图
flowchart TD
A[连接 MongoDB] --> B[创建集合]
B --> C[创建文档列表]
C --> D[批量写入数据]
类图
classDiagram
class MongoDB {
+ connect() : void
+ createCollection(String collectionName) : void
+ insertMany(List<Document> documents) : void
}
代码实现
首先,你需要导入 MongoDB 的 Java 驱动包:
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.util.ArrayList;
import java.util.List;
1. 连接 MongoDB
// MongoDB 连接字符串
String connectionString = "mongodb://localhost:27017";
// 创建 MongoClient
MongoClientURI uri = new MongoClientURI(connectionString);
MongoClient mongoClient = new MongoClient(uri);
// 连接到数据库
MongoDatabase database = mongoClient.getDatabase("mydb");
System.out.println("Connected to database successfully.");
2. 创建集合
// 创建集合
database.createCollection("mycollection");
System.out.println("Collection created successfully.");
3. 创建文档列表
// 创建文档列表
List<Document> documents = new ArrayList<Document>();
// 创建文档
Document document1 = new Document("name", "John Doe")
.append("age", 25)
.append("gender", "male");
documents.add(document1);
Document document2 = new Document("name", "Jane Smith")
.append("age", 30)
.append("gender", "female");
documents.add(document2);
// 添加更多文档...
4. 批量写入数据
// 获取集合
MongoCollection<Document> collection = database.getCollection("mycollection");
// 批量插入文档
collection.insertMany(documents);
System.out.println("Documents inserted successfully.");
完整代码示例
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.util.ArrayList;
import java.util.List;
public class MongoDBExample {
public static void main(String[] args) {
// MongoDB 连接字符串
String connectionString = "mongodb://localhost:27017";
// 创建 MongoClient
MongoClientURI uri = new MongoClientURI(connectionString);
MongoClient mongoClient = new MongoClient(uri);
// 连接到数据库
MongoDatabase database = mongoClient.getDatabase("mydb");
System.out.println("Connected to database successfully.");
// 创建集合
database.createCollection("mycollection");
System.out.println("Collection created successfully.");
// 创建文档列表
List<Document> documents = new ArrayList<Document>();
// 创建文档
Document document1 = new Document("name", "John Doe")
.append("age", 25)
.append("gender", "male");
documents.add(document1);
Document document2 = new Document("name", "Jane Smith")
.append("age", 30)
.append("gender", "female");
documents.add(document2);
// 添加更多文档...
// 获取集合
MongoCollection<Document> collection = database.getCollection("mycollection");
// 批量插入文档
collection.insertMany(documents);
System.out.println("Documents inserted successfully.");
// 关闭连接
mongoClient.close();
}
}
以上代码演示了如何使用 Java 连接 MongoDB,并批量写入数据。流程如下:
- 连接 MongoDB:使用 MongoClient 和连接字符串来连接到 MongoDB 数据库。
- 创建集合:使用 createCollection 方法创建指定名称的集合。
- 创建文档列表:使用 Document 类来创建要插入的文档,并将其添加到文档列表中。
- 批量写入数据:使用 insertMany 方法将文档列表批量插入到指定的集合中。
希望这篇文章对你理解如何实现 "mongodb 批量写入 Java" 有所帮助!