也来玩玩MongoDB
最近NoSQL(或者NoRelation)很火,咱不想Out了,所以也來湊湊熱鬧。
概念、優點之類的東西就不在這里重復啰嗦了,
直接動手玩一下。
MongoDB(包括Java驅動)的官方文檔寫得不夠認真,
連個最普通的CRUD例子都沒有,
看過網站上那篇“Java - Saving Objects Using DBObject”文章的人肯定被氣暈了。。。
安裝:
1)下載MongoDB數據庫(這里使用Windows 32 bit版)
http://downloads.mongodb.org/win32/mongodb-win32-i386-1.2.4.zip
然后解壓到一個目錄(這里是D:MongoDB),
并且在D:MongoDB目錄中建個”datadb”目錄用來存放數據文件。
(注意:很多文檔中說”C:datadb”目錄是缺省目錄,實際上是不起作用的)
2)下載MongoDB數據庫的Java驅動程序
http://github.com/downloads/mongodb/mongo-java-driver/mongo-1.3.jar
然后把mongo-1.3.jar放到D:MongoDB目錄
完成上面兩步就算完成安裝任務了,夠簡單吧。
啟動MongoDB數據庫服務器:
D:>cd D:MongoDB
D:MongoDB>binmongod –dbpath datadb
能看到下面這張圖就算是成功了:
下面是一個CRUD例子,雖然簡單,不過也算是覆蓋了大多數核心內容了,
一邊看代碼一邊看注釋吧,挺簡單的。
Java代碼
3.4. public class MongoTest {
11.12. public static void main(String[] args) throws Exception {
18.19. //查看所有的數據庫名
23.24. //DB類用來表示一個數據庫,如果數據庫不存在則創建一個
26.27. //查看所有的Collection名
31.32. out();
33.34. //DBCollection類用來存放對象,類似數據庫表的概念
36.37. //插入10個User對象到coll
44.45. coll.insert(user);
47.48. findAll(coll); //查找出coll中的所有對象并打印輸出
49.50. //查找出第一條記錄,在內部會自動轉換成User類型
57.58. out();
59.60. user.setAge(100);
63.64. coll.remove(user); //刪除第一條記錄
65.66. findAll(coll);
67.68. //查找年紀大于等于15小于等于18的記錄(15<=age<=18)
75.76.77. DBCursor cur = coll.find(query);
81.82. out();
83.84. //跳過前面3條記錄,然后顯示總共5條記錄
89.90. coll.drop(); //刪除coll這個DBCollection
92.93. public static void findAll(DBCollection coll) {
100.101. //插入DBCollection中的java對象必需實現DBObject接口,
107.108. public void setName(String name) {
111.112. public String getName() {
115.116. public void setAge(int age) {
119.120. public int getAge() {
123.124. public void setDate(Date date) {
127.128. public Date getDate() {
132.133. //如果不想用反射的方式,又不想手工實現DBObject接口的方法,
140.141. public void setName(String name) {
143.144. super.put(“name”, name);
146.147. public String getName() {
150.151. public void setAge(int age) {
153.154. super.put(“age”, age);
156.157. public int getAge() {
160.161. public void setDate(Date date) {
163.164. super.put(“date”, date);
166.167. public Date getDate() {
170.171. public Object put(String key, Object v) {
175.176. return super.put(key, v);
把MongoTest.java文件放到D:MongoDB目錄
編譯:
javac -cp D:MongoDBmongo-1.3.jar D:MongoDBMongoTest.java
運行:
java -cp D:MongoDBmongo-1.3.jar;D:MongoDB MongoTest
Douyu也支持MongoDB了,比上面的代碼還簡潔
Java代碼
3.4. import douyu.mvc.Model;
5.6. @Model
然后在conf/server.java中配置一個MongoDB的數據源(跟普通的關系型數據庫類似)
最后是Controller
Java代碼
4.5. @Controller
14.15. modelManager.insert(user);
16.17. user.setAge(20);
19.20. modelManager.delete(user);
總結
以上是生活随笔為你收集整理的也来玩玩MongoDB的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《电脑音乐制作实战指南:伴奏、录歌、MT
- 下一篇: 《HTML5实战》——1.4 其他API