天天看點

NoSQL 之 Morphia 操作 MongoDB

介紹到了在MongoDB的控制台完成MongoDB的資料操作、以及通過Java MongoDB 的驅動完成在Java中對MongoDB的操作,通過前兩篇文章我們對MongoDB有了全面、深刻的認識和了解。現在我們就看看利用Morphia庫來操作MongoDB。

開發環境:

System:Windows

IDE:eclipse、MyEclipse 8

Database:mongoDB

開發依賴庫:

JavaEE5、mongo-2.5.3.jar、junit-4.8.2.jar

Email:[email protected]

<a href="http://hoojo.cnblogs.com/">http://hoojo.cnblogs.com/</a>

1、 首先,下載下傳mongoDB對Java支援的驅動包

2、 下面建立一個JavaProject工程,導入下載下傳下來的驅動包。即可在Java中使用Morphia,目錄如下:

<a href="http://images.cnblogs.com/cnblogs_com/hoojo/201202/201202171024233566.jpg"></a>

在本示例之前你需要啟動mongod.exe的服務,在你安裝mongoDB的目錄中,找到mongod.exe啟動服務後,下面的程式才能順利執行;

1、 Java操作mongoDB資料庫,操作索引

Mongo mongo = new Mongo();

這樣就建立了一個MongoDB的資料庫連接配接對象,它預設連接配接到目前機器的localhost位址,端口是27017。

DB db = mongo.getDB(“test”);

得到了db,下一步我們要擷取一個“聚集集合DBCollection”,通過db對象的getCollection方法來完成。

DBCollection users = db.getCollection("users");

這樣就獲得了一個DBCollection,它相當于我們資料庫的“表”。

查詢所有資料

DBCursor cur = users.find();

while (cur.hasNext()) {

System.out.println(cur.next());

}

用BasicDBObjectBuilder,向users對象中添加資料

user = BasicDBObjectBuilder.start("id", 1546555)

.append("name", "jojo").add("address", "gz")

.append("email", "[email protected]")

.get();

插入資料

users.insert(user);

可以利用JSON工具來序列化對象資料

JSON.serialize(cur)

完整源碼

工具類,将帶有getter、setter方法的Java類序列化成DBObject對象

2、 完成索引操作,首先建立一個MongoDB4IndexTest.java,基本測試代碼如下:

3、 下面完成對象Collection的index的操作

1、 morphia可以利用annotation對JavaEntity進行注解,那樣我們就可以用morphia操作JavaEntity對象

2、 對Morphia對象一些簡單的使用,看看該對象提供了哪些基本的操作方法

1、 首先添加如下準備代碼,随後的方法直接添加到該檔案中即可

2、 增删改CUD操作

3、 Find查詢操作

4、 Query查詢操作

5、 get和count查詢

6、 其他操作

用Morphia操作對象相對比較簡單,它對MongoDB對Java的操作進行了一些封裝,特别是查詢這方面的。有沒有感覺像是在用Hibernate?

本文轉自hoojo部落格園部落格,原文連結:http://www.cnblogs.com/hoojo/archive/2012/02/17/2355384.html,如需轉載請自行聯系原作者