1. pom.xml中依赖包设置
在项目中引入MongoDB JDBC 驱动mongo-java-driver-X.X.X.jar
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.4.0</version>
</dependency>
2. 示例类
package memo.java.by.eric;
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;
import com.mongodb.client.model.Filters;
public class MongoDBJDBCDemo {
public static void main(String args[]) {
try {
// 连接到 mongodb 服务
MongoClient mongoClient = new MongoClient("localhost", 27017);
// 连接到数据库hello
// 如果指定的数据库不存在,MongoDB会自动创建数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase("hello");
System.out.println("连接到数据库hello");
// 创建集合
mongoDatabase.createCollection("students");
System.out.println("集合students创建成功");
// 选择集合
MongoCollection<Document> collection = mongoDatabase.getCollection("students");
System.out.println("集合students选择成功");
// 插入文档
/**
* 1. 创建文档 org.bson.Document 参数为key-value的格式 2. 创建文档集合List<Document>
* 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>)
* 插入单个文档可以用 mongoCollection.insertOne(Document)
*/
Document document = new Document("name", "老司机").append("age", 31);
List<Document> documents = new ArrayList<Document>();
documents.add(document);
collection.insertMany(documents);
System.out.println("文档插入成功");
// 更新文档
// 将文档中age=31的文档修改为age=32
collection.updateMany(Filters.eq("age", 31), new Document("$set", new Document("age", 32)));
System.out.println("文档更新成功");
// 检索所有文档
/**
* 1. 获取迭代器FindIterable<Document> 2. 获取游标MongoCursor<Document> 3.
* 通过游标遍历检索出的文档集合
*/
FindIterable<Document> findIterable = collection.find();
MongoCursor<Document> mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
System.out.println(mongoCursor.next());
}
// 删除符合条件的第一个文档
collection.deleteOne(Filters.eq("name", "老司机"));
// 删除所有符合条件的文档
collection.deleteMany(Filters.eq("name", "老司机"));
// 关闭连接
mongoClient.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
}
}
}