激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

簡(jiǎn)單學(xué)習Java+MongoDB的方法

時(shí)間:2020-12-23 12:42:50 簡(jiǎn)單學(xué)習 我要投稿

關(guān)于簡(jiǎn)單學(xué)習Java+MongoDB的方法

  MongoDB一些概念

關(guān)于簡(jiǎn)單學(xué)習Java+MongoDB的方法

  下面以MongoDB和MySql的對比來(lái)說(shuō)明

  MySQLMongoDB

  database(數據庫)db(數據庫)

  table(表)collection(集合)

  row(行記錄)document(文檔)

  column(列)field(字段)

  primary key(指定主鍵)"_id" : ObjectId("******") 自動(dòng)生成內置主鍵

  Mysql的'數據形式如下

  同樣的數據在MongoDB下類(lèi)似于JSON鍵值對,叫BSON,如下

  MongoDB的CRUD

  windows下安裝成功后,使用mongod命令啟動(dòng)服務(wù),使用mongo命令默認連接到test庫

  1,創(chuàng )建集合

  創(chuàng )建user集合:db.createCollection("user") //不需要定義字段

  2,插入

  插入name=wangxu,age=27的記錄:db.user.({"name":"wangxu","age":27})

  3,查詢(xún)

  查詢(xún)全部:db.user.find()

  查詢(xún)name=wangxu的記錄:db.user.find({"name":"wangxu"})

  4,更新

  將name=wangxu的記錄age更新成30:db.user.update({name:"wangxu"},{"$set":{"age":30}})

  5,刪除

  刪除name=wangxu的記錄:db.user.remove({"name":"wangxu"})

  刪除全部:db.user.remove()

  6,刪除集合

  刪除user集合: db.user.drop()

  Java調用MongoDB

  引入MongoDB的Java驅動(dòng)包后,測試代碼如下:

  package com.wx.test;import java.util.ArrayList;import org.bson.Document;import com.mongodb.MongoClient;FindIterableclient.MongoCollection.MongoCursor.MongoDatabase;import com.mongodb.client.model.Filters;/** * 測試mongodb 測試點(diǎn):增加,查詢(xún),更新,刪除 * * @author wangxu * @date 2016-3-27 */public class TestMongoDB { public static void main(String[] args) { // 建立連接,MongoDB默認是沒(méi)有用戶(hù)名及密碼 MongoClient mongoClient = new MongoClient("localhost", 27017); // 獲取test庫 MongoDatabase db = mongoClient.getDatabase("test"); // 創(chuàng )建集合 db.createCollection("user"); // 獲取集合 MongoCollection collection = db.getCollection("user"); // 插入文檔(支持多條) Document document = new Document("name", "wangxu").append("age", "27"); Document document2 = new Document("name", "wangxu_java").append("age", "27"); Listdocuments = new ArrayList<>(); documents.add(document); documents.add(document2); collection.Many(documents); // 更新wangxu的age為30 collection.updateMany(Filters.eq("name", "wangxu"), new Document( "$set", new Document("age", 30))); // 查詢(xún)文檔 FindIterablefindIterable = collection.find(); MongoCursormongoCursor = findIterable.iterator(); // 遍歷游標 while (mongoCursor.hasNext()) { Document doc = mongoCursor.next(); System.out.println("name=" + doc.get("name")); } // 刪除wangxu_java collection.Many(Filters.eq("name", "wangxu_java")); }}

  關(guān)于Java驅動(dòng)包的一個(gè)疑問(wèn)

  MongoClient mongoClient = new MongoClient("域不存在", 27017); //建立連接

  當我保存上面的代碼時(shí),發(fā)現不需要處理異常,開(kāi)始我以為異常被設計成了“非檢查異!,運行時(shí)會(huì )拋出來(lái),最后測試發(fā)現根本不會(huì )拋任何異常,后續的CRUD操作時(shí)會(huì )拋異常,但幾乎都是非檢查異常,個(gè)人感覺(jué)這種設計是不是有點(diǎn)不符合Java的異常分類(lèi)機制?

【關(guān)于簡(jiǎn)單學(xué)習Java+MongoDB的方法】相關(guān)文章:

關(guān)于學(xué)習韓語(yǔ)的方法09-11

關(guān)于簡(jiǎn)單有效的健身方法10-02

高中歷史簡(jiǎn)單學(xué)習方法12-24

解析高中政治簡(jiǎn)單的學(xué)習方法12-25

最簡(jiǎn)單的嵌入式學(xué)習方法10-04

關(guān)于幫助孩子學(xué)習的方法01-07

關(guān)于韓語(yǔ)的學(xué)習方法11-03

關(guān)于韓語(yǔ)學(xué)習方法09-11

學(xué)習的方法01-03

高中歷史簡(jiǎn)單學(xué)習方法(7篇)12-24

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频