Java操作Mongodb數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)的增刪查改功能示例
本文實例講述了Java操作Mongodb數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)的增刪查改功能。分享給大家供大家參考,具體如下:
首先,我們在windows下安裝mongodb數(shù)據(jù)庫,安裝教程可查看前面一篇文章:http://www.fzitv.net/article/85605.htm
代碼如下:
package io.mogo;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.WriteResult;
/**
* Hello world!
*
*/
public class App
{
private static final String host = "localhost";
private static final int port = 27017;
private static final String userName = "";
private static final String password = "";
private static final String dataBaseName = "test";
private static DB db;
public static void main( String[] args ) throws Exception
{
System.out.println( "Hello World!" );
connMongoDB();
find("person", "name", "xiaoming");
DBObject newObj = new BasicDBObject();
newObj.put("name", "xiaoming");
newObj.put("desc", "i am xiaoming");
update("person", "name", "xiaoming", newObj);
find("person", "name", "xiaoming");
}
public static void connMongoDB() throws Exception {
Mongo mongo = new Mongo(host, port);
db = mongo.getDB(dataBaseName);
if (!StringUtils.isEmpty(userName) || !StringUtils.isEmpty(password)) {
db.authenticate(userName, password.toCharArray());
}
}
public static void find(String tableName, String key, String value){
DBObject obj = new BasicDBObject();
obj.put(key, value);
DBCollection dbCollection = db.getCollection(tableName);
DBCursor dbCursor = dbCollection.find(obj);
while(dbCursor.hasNext()){
Map map = (Map)dbCursor.next();
System.out.println(map);
}
}
public static boolean delete(String tableName, String key, String value){
DBObject obj = new BasicDBObject();
obj.put(key, value);
DBCollection dbCollection = db.getCollection(tableName);
WriteResult result = dbCollection.remove(obj);
if(result.getN() > 0){
System.out.println("刪除數(shù)據(jù)成功!");
return true;
}else{
return false;
}
}
public static boolean insert(String tableName, DBObject obj){
DBCollection dbCollection = db.getCollection(tableName);
long num = dbCollection.count();
dbCollection.insert(obj);
if(dbCollection.count() - num > 0){
System.out.println("插入數(shù)據(jù)成功!");
return true;
}else{
return false;
}
}
public static boolean update(String tableName, String key, String value, DBObject newValue){
DBObject obj = new BasicDBObject();
obj.put(key, value);
DBCollection dbCollection = db.getCollection(tableName);
DBObject oldValue = dbCollection.findOne(obj);
WriteResult result = dbCollection.update(oldValue, newValue);
if(result.getN() > 0){
System.out.println("數(shù)據(jù)更新成功!");
return true;
}else
return false;
}
}
附:完整實例代碼點擊此處本站下載。
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java+MySQL數(shù)據(jù)庫程序設(shè)計總結(jié)》、《Java操作Excel技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java文件與目錄操作技巧匯總》及《Java操作DOM節(jié)點技巧總結(jié)》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
Java中finally關(guān)鍵字對返回值的影響詳解
這篇文章主要介紹了Java中finally關(guān)鍵字對返回值的影響詳解,執(zhí)行完try catch里面內(nèi)容準備return時,如果還有finally需要執(zhí)行這是編譯器會為我們增加一個全局變量去暫存return 的值,等到finally執(zhí)行完成去return這個全局變量,需要的朋友可以參考下2024-01-01
SpringBoot、mybatis返回樹結(jié)構(gòu)的數(shù)據(jù)實現(xiàn)
本文主要介紹了SpringBoot、mybatis返回樹結(jié)構(gòu)的數(shù)據(jù)實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
地址到經(jīng)緯度坐標轉(zhuǎn)化的JAVA代碼
這篇文章介紹了地址到經(jīng)緯度坐標轉(zhuǎn)化的JAVA代碼,有需要的朋友可以參考一下2013-09-09
使用ElasticSearch6.0快速實現(xiàn)全文搜索功能的示例代碼
本篇文章主要介紹了使用ElasticSearch6.0快速實現(xiàn)全文搜索功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02
Struts2中ognl遍歷數(shù)組,list和map方法詳解
這篇文章主要介紹了Struts2中ognl遍歷數(shù)組,list和map方法詳解,需要的朋友可以參考下。2017-09-09

