普通版
-
Java与MongoDB-Java-Driver版本对应

-
MongoDB-Java-Driver与MongoDB版本对应

MongoDB的版本是5.0.4,采用bson-3.11.0.jar和mongodb-driver-3.11.0.jar和mongodb-driver-core-3.11.0.jar
-
开启MongoDB服务

-
创建普通java项目

-
导入jar包

-
编写测试连接代码
import com.mongodb.DB; import com.mongodb.MongoClient; import com.mongodb.client.MongoDatabase; public class Connection { public static void main(String args[]) { try { // 连接到 mongodb 服务,localhost为hostname,27017为端口号 MongoClient mongoclient = new MongoClient("localhost", 27017); DB db = mongoclient.getDB("test"); System.out.println("connect successfully"); MongoDatabase mongoDatabase = mongoclient.getDatabase("s117"); System.out.println("成功连接数据库!"); //在数据库s117中创建集合wwk mongoDatabase.createCollection("wwk"); System.out.println("成功创建集合!"); } catch (Exception e) { System.err.println(e.getClass().getName() + ": " + e.getMessage()); } } } -
编写测试插入代码
import com.mongodb.DB; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import java.util.ArrayList; import java.util.List; public class Add{ public static void main( String args[] ){ try{ // 连接到 mongodb 服务 MongoClient mongoclient = new MongoClient("localhost", 27017); DB db = mongoclient.getDB("test"); System.out.println("connect successfully"); // 连接到数据库 MongoDatabase mongoDatabase = mongoclient.getDatabase("s117"); System.out.println("成功连接数据库!"); MongoCollection<Document> collection = mongoDatabase.getCollection("wwk"); System.out.println("成功选择集合"); //插入文档 Document document = new Document("name", "万文凯").append("age", "21").append("phone", "18201857988"); Document document1 = new Document("name", "万子墨").append("age", "35").append("phone", "18516307995"); List<Document> documents = new ArrayList<Document>(); documents.add(document); documents.add(document1); collection.insertMany(documents); System.out.println("插入数据成功!"); } catch(Exception e){ System.err.println( e.getClass().getName() + ": " + e.getMessage() ); } } } -
编写测试显示代码
import com.mongodb.DB; 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 Show{ public static void main( String args[] ){ try{ // 连接到 mongodb 服务 MongoClient mongoclient = new MongoClient("localhost", 27017); DB db = mongoclient.getDB("test"); System.out.println("connect successfully"); // 连接到数据库 MongoDatabase mongoDatabase = mongoclient.getDatabase("s117"); System.out.println("成功连接数据库"); MongoCollection<Document> collection = mongoDatabase.getCollection("wwk"); System.out.println("成功选择集合"); //展示所有文档 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() ); } } } -
编写测试修改代码
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 Update{ public static void main( String args[] ){ try{ // 连接到 mongodb 服务 MongoClient mongoClient = new MongoClient( "localhost" , 27017 ); // 连接到数据库 MongoDatabase mongoDatabase = mongoClient.getDatabase("s117"); System.out.println("成功连接数据库"); MongoCollection<Document> collection = mongoDatabase.getCollection("wwk"); System.out.println("成功选择集合"); //更新文档,将名字原本为 collection.updateMany(Filters.eq("name", "万子墨"), new Document("$set",new Document("name","子墨"))); //查看结果 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() ); } } } -
编写测试删除代码
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 Delete{ public static void main( String args[] ){ try{ // 连接到 mongodb 服务 MongoClient mongoClient = new MongoClient( "localhost" , 27017 ); // 连接到数据库 MongoDatabase mongoDatabase = mongoClient.getDatabase("s117"); System.out.println("成功连接数据库"); MongoCollection<Document> collection = mongoDatabase.getCollection("wwk"); System.out.println("成功选择集合"); //删除符合名字的信息 collection.deleteOne(Filters.eq("name", "万子墨")); //删除所有符合条件的文档 collection.deleteMany (Filters.eq("name", "万文凯")); //查看结果 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() ); } } }
Maven版
-
开启MongoDB服务

-
创建Maven项目

-
编写pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.wwk</groupId> <artifactId>mongodbMAPI</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.11.0</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>bson</artifactId> <version>3.11.0</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-core</artifactId> <version>3.11.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <configuration> <archive> <manifest> <mainClass>com.wwk.mongodbMAPI.APP</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> </project> -
编写客户端代码
package com.wwk.mongodbMAPI; import com.mongodb.MongoClient; import com.mongodb.client.MongoDatabase; public class Client { public MongoDatabase mongoDatabase; public MongoClient mongoClient; public Client() { mongoClient = new MongoClient("localhost", 27017); System.out.println("连接客户端成功"); } public void closeConnection() { mongoClient.close(); System.out.println("关闭数据库成功"); } public MongoDatabase getMongoDatabase(String databaseName) { try { mongoDatabase = mongoClient.getDatabase(databaseName); } catch (Exception e) { System.out.println(e.getClass().getName() + ":" + e.getMessage()); } return mongoDatabase; } } -
编写连接代码
package com.wwk.mongodbMAPI; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; public class Connection { public MongoDatabase mongoDatabase; public MongoClient mongoClient; public MongoCollection<Document> collection; public Connection() { mongoClient = new MongoClient(); mongoDatabase = mongoClient.getDatabase("test"); collection = mongoDatabase.getCollection("test"); System.out.println("初始化成功,连接数据库test和集合test成功"); } public Connection(String databaseName, String collectionName) { mongoClient = new MongoClient(); mongoDatabase = mongoClient.getDatabase(databaseName); collection = mongoDatabase.getCollection(collectionName); System.out.println("初始化成功"); System.out.println("连接数据为" + databaseName + ",集合为" + collectionName); } } -
编写操作代码
package com.wwk.mongodbMAPI; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoCursor; import com.mongodb.client.model.Filters; import org.bson.Document; import java.util.ArrayList; import java.util.List; public class Operation { public Connection database = new Connection(); public MongoClient client = database.mongoClient; public MongoCollection<Document> collection = database.collection; public void insert_one() { try { Document document = new Document("_id", 17).append("name", "wwk").append("age", "21").append("sex", "male").append("school", "LNKJXY"); collection.insertOne(document); System.out.println("插入成功"); } catch (Exception e) { System.out.println(e.getClass().getName() + ":" + e.getMessage()); } } public void insert_many() { try { List<Document> documents = new ArrayList<>(); Document document2 = new Document("_id", 18).append("name", "zimo").append("age", "21").append("sex", "male").append("school", "LNKJXY"); Document document3 = new Document("_id", 19).append("name", "wzm").append("age", "21").append("sex", "male").append("school", "LNKJXY"); documents.add(document2); documents.add(document3); collection.insertMany(documents); System.out.println("批量插入成功"); } catch (Exception e) { System.out.println(e.getClass().getName() + ":" + e.getMessage()); } } public void delete_one() { try { collection.deleteOne(Filters.eq("name", "wzm")); System.out.println("删除成功"); } catch (Exception e) { System.out.println(e.getClass().getName() + ":" + e.getMessage()); } } public void delete_many() { try { collection.deleteMany(Filters.eq("age", "21")); System.out.println("批量删除成功"); } catch (Exception e) { System.out.println(e.getClass().getName() + ":" + e.getMessage()); } } public void update_one() { try { collection.updateOne(Filters.eq("name", "zimo"), new Document("$set", new Document("name", "wanzimo"))); System.out.println("修改成功"); } catch (Exception e) { System.out.println(e.getClass().getName() + ":" + e.getMessage()); } } public void update_many() { try { collection.updateMany(Filters.eq("sex", "male"), new Document("$set", new Document("sex", "m"))); System.out.println("批量修改成功"); } catch (Exception e) { System.out.println(e.getClass().getName() + ":" + e.getMessage()); } } public void find_data() { MongoCursor<Document> cursor = collection.find().iterator(); try { while (cursor.hasNext()) { System.out.println(cursor.next().toJson()); } } catch (Exception e) { System.out.println(e.getClass().getName() + ":" + e.getMessage()); } } } -
编写APP
package com.wwk.mongodbMAPI; public class APP { public static void main(String[] args) { Operation operation = new Operation(); // 单个插入 operation.insert_one(); operation.find_data(); // 批量插入 operation.insert_many(); operation.find_data(); // 单个修改 operation.update_one(); operation.find_data(); // 批量修改 operation.update_many(); operation.find_data(); // 单个删除 operation.delete_one(); operation.find_data(); // 批量删除 operation.delete_many(); operation.find_data(); } }
562

被折叠的 条评论
为什么被折叠?



