當前位置:首頁 » 編程語言 » javamongoin

javamongoin

發布時間: 2025-06-13 20:55:21

Ⅰ 如何用java操作MongoDB

HelloWorld程序

學習任何程序的第一步,都是編寫HelloWorld程序,我們也不例外,看下如何通過Java編寫一個HelloWorld的程序。

首先,要通過Java操作Mongodb,必須先下載Mongodb的Java驅動程序,可以在這里下載。

新建立一個Java工程,將下載的驅動程序放在庫文件路徑下,程序代碼如下:

packagecom.mkyong.core;
importjava.net.UnknownHostException;
importcom.mongodb.BasicDBObject;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java+MongoDBHelloworldExample
*
*/
publicclassApp{
publicstaticvoidmain(String[]args){
try{
//實例化Mongo對象,連接27017埠
Mongomongo=newMongo("localhost",27017);
//連接名為yourdb的資料庫,假如資料庫不存在的話,mongodb會自動建立
DBdb=mongo.getDB("yourdb");
//GetcollectionfromMongoDB,databasenamed"yourDB"
//從Mongodb中獲得名為yourColleection的數據集合,如果該數據集合不存在,Mongodb會為其新建立
DBCollectioncollection=db.getCollection("yourCollection");
//使用BasicDBObject對象創建一個mongodb的document,並給予賦值。
BasicDBObjectdocument=newBasicDBObject();
document.put("id",1001);
document.put("msg","helloworldmongoDBinJava");
//將新建立的document保存到collection中去
collection.insert(document);
//創建要查詢的document
BasicDBObjectsearchQuery=newBasicDBObject();
searchQuery.put("id",1001);
//使用collection的find方法查找document
DBCursorcursor=collection.find(searchQuery);
//循環輸出結果
while(cursor.hasNext()){
System.out.println(cursor.next());
}
System.out.println("Done");
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}
}
}

最後,輸出的結果為:

{"_id":{"$oid":"4dbe5596dceace565d229dc3"},
"id":1001,"msg":"helloworldmongoDBinJava"}


Done


在上面的例子中,演示了使用Java對Mongodb操作的重要方法和步驟,首先通過創建Mongodb對象,傳入構造函數的參數是Mongodb的資料庫所在地址和埠,然後使用

getDB方法獲得要連接的資料庫名,使用getCollection獲得數據集合的名,然後通過新建立BasicDBObject對象去建立document,最後通過collection的insert方法,將建立的document保存到資料庫中去。而collection的find方法,則是用來在資料庫中查找document。

從Mongodb中獲得collection數據集

在Mongodb中,可以通過如下方法獲得資料庫中的collection:

DBCollectioncollection=db.getCollection("yourCollection");

如果你不知道collection的名稱,可以使用db.getCollectionNames()獲得集合,然後再遍歷,如下:

DBdb=mongo.getDB("yourdb");
Setcollections=db.getCollectionNames();
for(StringcollectionName:collections){
System.out.println(collectionName);
}

完成的一個例子如下:

packagecom.mkyong.core;
importjava.net.UnknownHostException;
importjava.util.Set;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java:GetcollectionfromMongoDB
*
*/
publicclassGetCollectionApp{
publicstaticvoidmain(String[]args){
try{
Mongomongo=newMongo("localhost",27017);
DBdb=mongo.getDB("yourdb");
Set<String>collections=db.getCollectionNames();
for(StringcollectionName:collections){
System.out.println(collectionName);
}
DBCollectioncollection=db.getCollection("yourCollection");
System.out.println(collection.toString());
System.out.println("Done");
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}
}
}

Mongodb中如何插入數據

下面,講解下如何使用4種方式,將JSON數據插入到Mongodb中去。首先我們准備JSON

格式的數據,如下:

{
"database":"mkyongDB",
"table":"hosting",
"detail":
{
records:99,
index:"vps_index1",
active:"true"
}
}
}


我們希望用不同的方式,通過JAVA代碼向Mongodb插入以上格式的JSON數據

第一種方法,是使用BasicDBObject,方法如下代碼所示:

BasicDBObjectdocument=newBasicDBObject();
document.put("database","mkyongDB");
document.put("table","hosting");
BasicDBObjectdocumentDetail=newBasicDBObject();
documentDetail.put("records","99");
documentDetail.put("index","vps_index1");
documentDetail.put("active","true");
document.put("detail",documentDetail);
collection.insert(document);

第二種方法是使用BasicDBObjectBuilder對象,如下代碼所示:

=BasicDBObjectBuilder.start()
.add("database","mkyongDB")
.add("table","hosting");
Detail=BasicDBObjectBuilder.start()
.add("records","99")
.add("index","vps_index1")
.add("active","true");
documentBuilder.add("detail",documentBuilderDetail.get());
collection.insert(documentBuilder.get());

第三種方法是使用Map對象,代碼如下:

MapdocumentMap=newHashMap();
documentMap.put("database","mkyongDB");
documentMap.put("table","hosting");
MapdocumentMapDetail=newHashMap();
documentMapDetail.put("records","99");
documentMapDetail.put("index","vps_index1");
documentMapDetail.put("active","true");
documentMap.put("detail",documentMapDetail);
collection.insert(newBasicDBObject(documentMap));

第四種方法,也就是最簡單的,即直接插入JSON格式數據

String json="{'database' : 'mkyongDB','table' : 'hosting',"+
"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
DBObject dbObject=(DBObject)JSON.parse(json);
collection.insert(dbObject);

這里使用了JSON的parse方法,將解析後的JSON字元串轉變為DBObject對象後再直接插入到collection中去。


完整的代碼如下所示:

packagecom.mkyong.core;
importjava.net.UnknownHostException;
importjava.util.HashMap;
importjava.util.Map;
importcom.mongodb.BasicDBObject;
importcom.mongodb.BasicDBObjectBuilder;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.DBObject;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
importcom.mongodb.util.JSON;
/**
* Java MongoDB : Insert a Document
*
*/
publicclass InsertDocumentApp {
publicstaticvoid main(String[] args){
try{
Mongo mongo=newMongo("localhost",27017);
DB db=mongo.getDB("yourdb");
//get a single collection
DBCollection collection=db.getCollection("mmyColl");
//BasicDBObject example
System.out.println("BasicDBObject example...");
BasicDBObject document=newBasicDBObject();
document.put("database","mkyongDB");
document.put("table","hosting");
BasicDBObject documentDetail=newBasicDBObject();
documentDetail.put("records","99");
documentDetail.put("index","vps_index1");
documentDetail.put("active","true");
document.put("detail", documentDetail);
collection.insert(document);
DBCursor cursorDoc=collection.find();
while(cursorDoc.hasNext()){
System.out.println(cursorDoc.next());
}
collection.remove(newBasicDBObject());
//BasicDBObjectBuilder example
System.out.println("BasicDBObjectBuilder example...");
BasicDBObjectBuilder documentBuilder=BasicDBObjectBuilder.start()
.add("database","mkyongDB")
.add("table","hosting");
BasicDBObjectBuilder documentBuilderDetail=BasicDBObjectBuilder.start()
.add("records","99")
.add("index","vps_index1")
.add("active","true");
documentBuilder.add("detail", documentBuilderDetail.get());
collection.insert(documentBuilder.get());
DBCursor cursorDocBuilder=collection.find();
while(cursorDocBuilder.hasNext()){
System.out.println(cursorDocBuilder.next());
}
collection.remove(newBasicDBObject());
//Map example
System.out.println("Map example...");
Map documentMap=newHashMap();
documentMap.put("database","mkyongDB");
documentMap.put("table","hosting");
Map documentMapDetail=newHashMap();
documentMapDetail.put("records","99");
documentMapDetail.put("index","vps_index1");
documentMapDetail.put("active","true");
documentMap.put("detail", documentMapDetail);
collection.insert(newBasicDBObject(documentMap));
DBCursor cursorDocMap=collection.find();
while(cursorDocMap.hasNext()){
System.out.println(cursorDocMap.next());
}
collection.remove(newBasicDBObject());
//JSON parse example
System.out.println("JSON parse example...");
String json="{'database' : 'mkyongDB','table' : 'hosting',"+
"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
DBObject dbObject=(DBObject)JSON.parse(json);
collection.insert(dbObject);
DBCursor cursorDocJSON=collection.find();
while(cursorDocJSON.hasNext()){
System.out.println(cursorDocJSON.next());
}
collection.remove(newBasicDBObject());
}catch(UnknownHostException e){
e.printStackTrace();
}catch(MongoException e){
e.printStackTrace();
}
}
}


Ⅱ java直接操作mongodb語句

參考如下
public class MongoDBJDBC {
public static void main(String[] args) {
try {
// 實例化Mongo對象,連接27017埠
Mongo mongo = new Mongo("localhost", 27017);
// 連接名為yourdb的資料庫,假如資料庫不存在的話,mongodb會自動建立
DB db = mongo.getDB("test");
// Get collection from MongoDB, database named "yourDB"
// 從Mongodb中獲得名為yourColleection的數據集合,如果該數據集合不存在,Mongodb會為其新建立
DBCollection collection = db.getCollection("test1");
// 使用BasicDBObject對象創建一個mongodb的document,並給予賦值。
BasicDBObject document = new BasicDBObject();
//document.put("id", 1001);
//document.put("msg", "hello world mongoDB in Java");
// 將新建立的document保存到collection中去
//collection.insert(document);
// 創建要查詢的document
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("name", "chen");
// 使用collection的find方法查找document
DBCursor cursor = collection.find(searchQuery);
// 循環輸出結果
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
System.out.println("Hello World");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
}

Ⅲ 學習java以後的就業方向有哪些

Java行業是一個大方向,崗位不同工作內容也多有不同,掌握一門Java技術之後就業的機會是很廣泛的,給大家提供參考:
Java開發的就業方向一:Java企業級應用開發
目前Java在許多行業的企業信息應用方面的應用非常多,比如OA、郵箱、股票、金融、考試、物流、醫療、礦山等信息方面的系統。該方向和行業密切相關,所以,這是一個經驗型的發展方向。Java開發者在這方面的需求也非常大,待遇也相當不錯,有三到五年工作經驗的年薪在15至20萬這是一個很正常的水平。
Java開發的就業方向二:Java網站建設
近幾年來,網站建設業務一直呈快速上升勢頭,行業市場越來越大。新技術的應用將促使企業網站建設更具魅力。Java編程語言也將使網站結構更緊密,訪問更流暢,更能適應新的要求。特別是像大企業更偏向於使用Java技術。
Java開發的就業方向三:Android開發
Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。Android在國內的市場份額愈來愈額高。最近幾年發展非常快速,但人才積累卻沒有跟上,優秀的Android開發工程師仍然存在不小的缺口。Android應用的主要開發語言就是Java,所以選擇這個方向還是蠻不錯的。
Java開發的就業方向四:Java游戲開發
Java本身就可以用來編寫游戲腳本,目前也有例如beanshellgroovy等腳本語言可以方便的無縫的和Java語言進行交互,這些都極大的方便了Java游戲編程。
未來幾年隨著互聯網的不斷發展,對Java開發人員的需求也會不斷增加,現在學習Java正當時。所以,你還在等什麼,抓緊時間入行吧!如果想系統的學習編程,可以來我這看看呀
希望對您有所幫助!~

Ⅳ 應該怎樣學習JAVA順序是什麼

不知道Java 學習順序的話,我提供你一條學習線路圖!

按照視頻學習的過程中,學習方法也是很重要的!一定要記得勤記筆記,整理程思維導圖,方便後續復習方便。

第一部分:JavaSE:Java語言最基本的一套庫

學習JavaEE或JavaME之前,JavaSE是必學的。

* Java開發環境搭建

* Java基礎語法

* 面向對象

* 數組

* 異常

* 集合

* 線程

* IO流

* 反射機制

* 註解Annotation

* 網路編程

第二部分:資料庫 【MySQL + JDBC】

* 只要學習編程,資料庫是一定要學習的,是一門公共的學科。

* java、C、python、C#等程序員都需要學習資料庫。

* 資料庫產品很多: MySQL、Oracle、SqlServer、DB2......

* 我們動力節點資料庫課程包括:MySQL + Oracle

* Oracle:銀行、政府使用oracle的較多。

* MySQL:互聯網公司、一般企業使用MySQL較多。

* Oracle我們是提供視頻的。課堂上不講。

* 我們課堂上講MySQL。

* Java語言鏈接資料庫:JDBC

第三部分:WEB前端

* 系統結構:B/S【Browser/Server】 C/S【Client/Server】

* WEB是網站的意思。WEB前端是:網站當中的頁面。

* WEB前端程序是運行在瀏覽器當中的。

* HTML5 + CSS3 + JavaScript(JS)

* WEB前端也有很多框架:

- jQuery

- Bootstrap

- Vue

- NodeJS

- AugularJS

- RectJS

- LayUI

- EasyUI

.....

第四部分:JavaWEB

* Servlet

* JSP

* AJAX(是JavaScript的一部分語法,專門做頁面局部刷新)

第五部分:JavaWEB項目

* 做一個B/S結構的項目,將WEB前端和JavaWEB內容做一個整合練習。

* 其實到這里為止,所有的系統都可以做了。但是用的技術很Low。沒有用框架。

Ⅳ JAVA零基礎者應該看什麼書比較好

給大家推薦一些對Java學習有用的經典書籍,感興趣的小夥伴們可以收藏一下!

1、《thinkingin Java》

這內容是否看著就很好理解。

這本書,通俗易懂,重點突出的書,相當適合初學者快速入門,缺點是段子太多,有時候會被當成笑話書來看。

以上就是推薦的7本Java經典書籍,希望對大家的學習有所幫助。也希望在成為一名更優秀的Java程序員的道路上,我們可以一起學習、一起進步。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:593
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:888
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:582
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:765
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:684
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1013
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:255
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:114
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:806
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:713