程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 簡略進修Java+MongoDB

簡略進修Java+MongoDB

編輯:關於JAVA

簡略進修Java+MongoDB。本站提示廣大學習愛好者:(簡略進修Java+MongoDB)文章只能為提供參考,不一定能成為您想要的結果。以下是簡略進修Java+MongoDB正文


MongoDB一些概念

上面以MongoDB和MySql的比較來講明

MySQL MongoDB
database(數據庫) db(數據庫)
table(表) collection(聚集)
row(行記載) document(文檔)
column(列) field(字段)
primary key(指定主鍵) "_id" : ObjectId("******")  主動生成內置主鍵

Mysql的數據情勢以下

異樣的數據在MongoDB下相似於JSON鍵值對,叫BSON,以下

MongoDB的CRUD

windows下裝置勝利後,應用mongod敕令啟動辦事,應用mongo敕令默許銜接到test庫

1,創立聚集

創立user聚集:db.createCollection("user")   //不須要界說字段
2,拔出
拔出name=wangxu,age=27的記載:db.user.insert({"name":"wangxu","age":27})
3,查詢
查詢全體:db.user.find()
查詢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驅動包後,測試代碼以下:

package com.wx.test;
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;
/**
 * 測試mongodb 測試點:增長,查詢,更新,刪除
 * 
 * @author wangxu
 * @date 2016-3-27
 */
public class TestMongoDB {
 public static void main(String[] args) {
 // 樹立銜接,MongoDB默許是沒有效戶名及暗碼
 MongoClient mongoClient = new MongoClient("localhost", 27017);
 // 獲得test庫
 MongoDatabase db = mongoClient.getDatabase("test");
 // 創立聚集
 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");
 List<Document> documents = new ArrayList<>();
 documents.add(document);
 documents.add(document2);
 collection.insertMany(documents);
 // 更新wangxu的age為30
 collection.updateMany(Filters.eq("name", "wangxu"), new Document(
  "$set", new Document("age", 30)));
 // 查詢文檔
 FindIterable<Document> findIterable = collection.find();
 MongoCursor<Document> mongoCursor = findIterable.iterator();
 // 遍歷游標
 while (mongoCursor.hasNext()) {
  Document doc = mongoCursor.next();
  System.out.println("name=" + doc.get("name"));
 }
 // 刪除wangxu_java
 collection.deleteMany(Filters.eq("name", "wangxu_java"));
 }
}

關於Java驅動包的一個疑問

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

當我保留下面的代碼時,發明不須要處置異常,開端我認為異常被設計成了“非檢討異常”,運轉時會拋出來,最初測試發明基本不會拋任何異常,後續的CRUD操作時會拋異常,但簡直都長短檢討異常,小我感到這類設計是否是有點不相符Java的異常分類機制?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved