java操作mongodb完成CURD功效實例。本站提示廣大學習愛好者:(java操作mongodb完成CURD功效實例)文章只能為提供參考,不一定能成為您想要的結果。以下是java操作mongodb完成CURD功效實例正文
先下載響應的驅動:官網高低載:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/
本文應用mongo-2.10.1.jar版本:
上面有具體代碼的,每一個辦法可以零丁履行。個中為了便利運轉,每一個辦法中都從新鏈接數據庫,而沒有再提出來,由於在此的目標是為了熟悉mongodb罷了。
package com.mongo.dao;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;
/**
* 對根本實體的存儲測試
* @author lhy
*
*/
public class EntityTest {
public static void main(String[] args) throws Exception{
delete();
}
/**
* 保留實體對象
* @throws Exception
*/
public static void saveEntity() throws Exception{
//第一:實例化mongo對象,銜接mongodb辦事器 包括一切的數據庫
//默許結構辦法,默許是銜接本機,端標語,默許是27017
//相當於Mongo mongo =new Mongo("localhost",27017)
Mongo mongo =new Mongo();
//第二:銜接詳細的數據庫
//個中參數是詳細數據庫的稱號,若辦事器中不存在,會主動創立
DB db=mongo.getDB("myMongo");
//第三:操作詳細的表
//在mongodb中沒有表的概念,而是指聚集
//個中參數是數據庫中表,若不存在,會主動創立
DBCollection collection=db.getCollection("user");
//添加操作
//在mongodb中沒有行的概念,而是指文檔
BasicDBObject document=new BasicDBObject();
document.put("id", 1);
document.put("name", "小明");
// //然後保留到聚集中
// // collection.insert(document);
//固然我也能夠保留如許的json串
/* {
"id":1,
"name","小明",
"address":
{
"city":"beijing",
"code":"065000"
}
}*/
//完成上述json串思緒以下:
//第一種:相似xml時,赓續添加
BasicDBObject addressDocument=new BasicDBObject();
addressDocument.put("city", "beijing");
addressDocument.put("code", "065000");
document.put("address", addressDocument);
//然後保留數據庫中
collection.insert(document);
//第二種:直接把json存到數據庫中
/* String jsonTest="{'id':1,'name':'小明',"+
"'address':{'city':'beijing','code':'065000'}"+
"}";
DBObject dbobjct=(DBObject)JSON.parse(jsonTest);
collection.insert(dbobjct);*/
}
/**
* 遍歷一切的
* @throws Exception
*/
public static void selectAll() throws Exception{
//第一:實例化mongo對象,銜接mongodb辦事器 包括一切的數據庫
//默許結構辦法,默許是銜接本機,端標語,默許是27017
//相當於Mongo mongo =new Mongo("localhost",27017)
Mongo mongo =new Mongo();
//第二:銜接詳細的數據庫
//個中參數是詳細數據庫的稱號,若辦事器中不存在,會主動創立
DB db=mongo.getDB("myMongo");
//第三:操作詳細的表
//在mongodb中沒有表的概念,而是指聚集
//個中參數是數據庫中表,若不存在,會主動創立
DBCollection collection=db.getCollection("user");
//查詢操作
//查詢一切
//個中相似access數據庫中游標概念
DBCursor cursor=collection.find();
System.out.println("mongodb中的user表成果以下:");
while(cursor.hasNext()){
System.out.println(cursor.next());
}
}
/**
* 依據前提查詢
* @throws Exception
*/
public static void selectPart() throws Exception{
//第一:實例化mongo對象,銜接mongodb辦事器 包括一切的數據庫
//默許結構辦法,默許是銜接本機,端標語,默許是27017
//相當於Mongo mongo =new Mongo("localhost",27017)
Mongo mongo =new Mongo();
//第二:銜接詳細的數據庫
//個中參數是詳細數據庫的稱號,若辦事器中不存在,會主動創立
DB db=mongo.getDB("myMongo");
//第三:操作詳細的表
//在mongodb中沒有表的概念,而是指聚集
//個中參數是數據庫中表,若不存在,會主動創立
DBCollection collection=db.getCollection("user");
//可以直接put
BasicDBObject queryObject=new BasicDBObject();
queryObject.put("id", 1);
DBCursor querycursor=collection.find(queryObject);
System.out.println("前提查詢以下:");
while(querycursor.hasNext()){
System.out.println(querycursor.next());
}
}
/**
* 更新操作
* 更新一筆記錄
* @throws Exception
*/
public static void update()throws Exception{
//第一:實例化mongo對象,銜接mongodb辦事器 包括一切的數據庫
//默許結構辦法,默許是銜接本機,端標語,默許是27017
//相當於Mongo mongo =new Mongo("localhost",27017)
Mongo mongo =new Mongo();
//第二:銜接詳細的數據庫
//個中參數是詳細數據庫的稱號,若辦事器中不存在,會主動創立
DB db=mongo.getDB("myMongo");
//第三:操作詳細的表
//在mongodb中沒有表的概念,而是指聚集
//個中參數是數據庫中表,若不存在,會主動創立
DBCollection collection=db.getCollection("user");
//更新後的對象
// 第一種更新方法
BasicDBObject newBasicDBObject =new BasicDBObject();
newBasicDBObject.put("id", 2);
newBasicDBObject.put("name", "小紅");
collection.update(new BasicDBObject().append("id", 1),newBasicDBObject);
// 第二種更新方法
// 更新某一個字段
// BasicDBObject newBasicDBObject =new BasicDBObject().append("$set",new BasicDBObject().append("name", "小紅") );
// collection.update(new BasicDBObject().append("id", 1).append("name", "小明"),newBasicDBObject);
DBCursor querycursor1=collection.find();
System.out.println("更新後成果以下:");
while(querycursor1.hasNext()){
System.out.println(querycursor1.next());
}
}
/**
* 刪除文檔,個中包含刪除全體或刪除部門
* @throws Exception
*/
public static void delete() throws Exception{
//第一:實例化mongo對象,銜接mongodb辦事器 包括一切的數據庫
//默許結構辦法,默許是銜接本機,端標語,默許是27017
//相當於Mongo mongo =new Mongo("localhost",27017)
Mongo mongo =new Mongo();
//第二:銜接詳細的數據庫
//個中參數是詳細數據庫的稱號,若辦事器中不存在,會主動創立
DB db=mongo.getDB("myMongo");
//第三:操作詳細的表
//在mongodb中沒有表的概念,而是指聚集
//個中參數是數據庫中表,若不存在,會主動創立
DBCollection collection=db.getCollection("user");
BasicDBObject queryObject1=new BasicDBObject();
queryObject1.put("id", 2);
queryObject1.put("name","小紅");
//刪除某一筆記錄
collection.remove(queryObject1);
//刪除全體
//collection.drop();
DBCursor cursor1=collection.find();
System.out.println("刪除後的成果以下:");
while(cursor1.hasNext()){
System.out.println(cursor1.next());
}
}
}