在JAVA中使用MongoDB
生活随笔
收集整理的這篇文章主要介紹了
在JAVA中使用MongoDB
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
首先,下載mongdb對JAVA的支持,點擊這里下載驅動包,這里博主下載的是2.10.1版。
mongdb版本為2.4.9
在項目中導入該驅動包。
打開shell,在終端輸入mongo,顯示如下
只有默認的三個數據庫。
新建一個java project
代碼如下,
1.操控mongdb連接,使用MongoOptions來設置一些參數。
package?Util;import?java.net.UnknownHostException;import?com.mongodb.DB; import?com.mongodb.Mongo; import?com.mongodb.MongoOptions;//數據庫工具類 public?class?MongoDBUtil?{private?static?Mongo?mongo?=?null;private?static?String?DBString?=?"MongoDBTest";//數據庫名private?static?String?hostName?=?"localhost";//主機名private?static?int?port?=?27017;//端口號private?static?int?poolSize?=?10;//連接池大小private?MongoDBUtil(){}//獲取數據庫連接public?static?DB?getDB(){if(mongo?==?null){init();}return?mongo.getDB(DBString);}//初始化數據庫private?static?void?init(){try?{//實例化Mongomongo?=?new?Mongo(hostName,?port);MongoOptions?opt?=?mongo.getMongoOptions();//設置連接池大小opt.connectionsPerHost?=?poolSize;}?catch?(UnknownHostException?e)?{//?TODO?Auto-generated?catch?blocke.printStackTrace();}} }2.基本操作接口
package?DAO;import?java.util.List;import?com.mongodb.BasicDBObject;//數據庫CRUD基本操作 public?interface?BaseDAO?{public?boolean?insert(String?collectionName,?BasicDBObject?bean);public?boolean?delete(String?collectionName,?BasicDBObject?bean);public?List?find(String?collectionName,?BasicDBObject?bean);public?boolean?update(String?collectionName,?BasicDBObject?oldBean,?BasicDBObject?newBean);}3.基本操作實現
package?DAO.Impl;import?java.util.List;import?com.mongodb.BasicDBObject; import?com.mongodb.DB;import?Util.MongoDBUtil; import?DAO.BaseDAO;//數據庫基本操作實現 public?class?BaseDAOImpl?implements?BaseDAO?{@Overridepublic?boolean?insert(String?collectionName,?BasicDBObject?bean)?{DB?db?=?MongoDBUtil.getDB();db.getCollection(collectionName).insert(bean);return?false;}@Overridepublic?boolean?delete(String?collectionName,?BasicDBObject?bean)?{DB?db?=?MongoDBUtil.getDB();db.getCollection(collectionName).remove(bean);return?false;}@Overridepublic?List?find(String?collectionName,?BasicDBObject?bean)?{DB?db?=?MongoDBUtil.getDB();List?list?=?db.getCollection(collectionName).find(bean).toArray();return?list?;}@Overridepublic?boolean?update(String?collectionName,?BasicDBObject?oldBean,?BasicDBObject?newBean)?{DB?db?=?MongoDBUtil.getDB();db.getCollection(collectionName).update(oldBean,?newBean);return?false;}}4.基本操作測試
4.1添加文檔操作
執行后結果
可以看到mongdb會自動檢測是否存在數據庫MongoDBTest,如果不存在則新建一個,然后再檢測是否存在文檔集合test,如果不存在則新建一個,最后插入數據。
4.2查詢文檔操作 ????
輸出結果如下
kakakaka 男 204.3修改文檔操作如下
????????BasicDBObject?oldBean?=?(BasicDBObject)?baseDAOImpl.find("test",?new?BasicDBObject("name",?"kakakaka")).get(0);BasicDBObject?newBean?=?(BasicDBObject)?oldBean.clone();newBean.put("name",?"gugugugu");System.out.println(oldBean.get("name"));System.out.println(newBean.get("name"));baseDAOImpl.update("test",?oldBean,?newBean);控制臺輸出結果
kakakaka gugugugu4.4刪除文檔
先再向數據庫插入一條數據
注意,mongdb區分一個文檔中的不同數據是依賴它自己向每條數據中賦的"_id"
所以再插入這樣一條數據
結果如下
執行刪除操作
首先根據"_id"將文檔中第二條數據修改
結果如下
將"name" 等于 "kakakaka"的數據刪除
????????baseDAOImpl.delete("test",?new?BasicDBObject("name","kakakaka"));5.模糊搜索
使用正則表達式根據關鍵字key對數據庫相應屬性進行模糊搜索,
數據庫內部的內容
輸出結果
轉載于:https://my.oschina.net/kakakaka/blog/347954
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的在JAVA中使用MongoDB的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android第二十五期 - 猜歌小游戏
- 下一篇: asp.net服务器控件button先执