首页 > 代码库 > mongodb初体验
mongodb初体验
最近关注大数据,自然会关注到nosql数据库,其中当然是mongodb。
nosql数据库大多是k,v数据库,这也不是新鲜的名词了,berkerly DB已经存在很多年了,现在属于oracle。
具体k,v数据库为何比传统数据库优载的原理,还需要深入了解和学习。同时两者应该是各有存在的空间。
mongodb的使用非常简单,简单包装一下类如下:
1 package DBHelper; 2 3 import com.mongodb.*; 4 import com.mongodb.util.JSON; 5 6 import java.net.UnknownHostException; 7 import java.util.List; 8 9 /**10 * Created by Weijiabin on 2014/10/29.11 */12 public class MongoDB {13 14 public MongoDB() throws UnknownHostException {15 _mongo = new Mongo();16 }17 private Mongo _mongo;18 public DB getDb(String strDbName){19 return _mongo.getDB(strDbName);20 }21 22 public DBCollection getDbCollection(String strStrDbName, String strTableName){23 return getDb(strStrDbName).getCollection(strTableName);24 }25 26 public void add(String strDbName,String strTableName, DBObject obj){27 getDbCollection(strDbName,strTableName).save(obj);28 }29 30 public void addList(String strDbName,String strTableName, List<DBObject> objList){31 getDbCollection(strDbName,strTableName).insert(objList);32 }33 34 public int remove(String strDbName,String strTableName,DBObject obj){35 return getDbCollection(strDbName,strTableName).remove(obj).getN();36 }37 38 public int modify(String strDbName,String strTableName,DBObject objQ,DBObject objN,boolean bUpdateAll){39 return getDbCollection(strDbName,strTableName).update(objQ,objN,true,bUpdateAll).getN();40 }41 42 public DBObject query(String strDbName,String strTableName,DBObject objQ){43 return getDbCollection(strDbName,strTableName).findOne(objQ);44 }45 46 47 48 }
测试代码如下:
package DBHelper;import com.mongodb.BasicDBObject;import com.mongodb.DBObject;import org.junit.Test;import static org.junit.Assert.*;public class MongoDBTest { @Test public void testGetDb() throws Exception { MongoDB db = new MongoDB(); BasicDBObject obj = new BasicDBObject(); obj.put("name","weijiabin"); obj.put("sex","man"); obj.put("age",32); db.add("db1","users",obj); BasicDBObject objQ = new BasicDBObject("age",32); DBObject objR = db.query("db1", "users", objQ); assertEquals("weijiabin",objR.get("name")); }}
看得出来,相当的简单和易用。直接操作json数据结构,有xml的优点,同时比xml更适合网络传输。
mongodb初体验
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。