MongoDB學習筆記番外篇:JDBC方式操作MongoDB示例
阿新 • • 發佈:2018-12-24
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()); } } }