MongoDB学习(二)MongoDB Java增删查改
- 相关资料
1、MongoDB for Java的驱动包
https://github.com/mongodb/mongo-java-driver/downloads
2、在线文档
http://www.mongodb.org/display/DOCS/Java+Language+Center
- 操作
1、查询某张表(在MongoDB中称之为集合)的所有数据
Java代码DBTest.java
package com.archie.mongodb; import java.net.UnknownHostException; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo; import com.mongodb.MongoException; /** * 查询指定数据库指定DBCollection集合中的所有数据 * @author archie2010 * * since 2012-9-29 下午10:40:21 */ public class DBTest { public static void main(String[] args) throws UnknownHostException, MongoException { /** Mongo实例代表了一个数据库连接池 * Mongo mg = new Mongo("localhost"); Mongo mg = new Mongo("localhost", 27017); */ Mongo mg = new Mongo(); // 获取名为“dbtest”的数据库对象 DB db = mg.getDB("dbtest"); // 查询该库中所有的集合 (相当于表) for (String name : db.getCollectionNames()) { System.out.println("Collection Name: " + name); } DBCollection users = db.getCollection("emp"); // 查询集合中所有的数据 DBCursor cur = users.find(); System.out.println("Record Count:" + cur.count()); while (cur.hasNext()) { DBObject object = cur.next(); System.out.println(object); // 取出对象中列表为字段名为'uname'和'upwd'的数据 System.out.println("uname:" + object.get("uname") + "\tupwd:" + object.get("upwd")); } } }
运行结果:
2、对指定DBCollection集合的CRUD操作
Java代码
DBUtil.java
package com.archie.mongodb; import java.net.UnknownHostException; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.Mongo; /** * 获得DBCollection集合的工具类 * @author archie2010 * * since 2012-9-29 下午10:54:42 */ public class DBUtil { public static Mongo mg=null; public static DB db=null; public static DBCollection collection; /** * 获得DBCollection对象 * @param dbName * @param colName * @return */ public static DBCollection getDBCollection(String dbName,String colName){ if(mg==null){ try { mg=new Mongo(); } catch (UnknownHostException e) { e.printStackTrace(); } } if(db==null){ db=mg.getDB(dbName); } return db.getCollection(colName); } }
CRUDTest.java
package com.archie.mongodb; import com.mongodb.BasicDBObject; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; /** * 对指定DBCollection集合的CRUD操作 * @author archie2010 * * since 2012-9-29 下午10:51:24 */ public class CRUDTest { /** * 增加 * @param obj */ public static void add(DBObject obj){ DBCollection coll=DBUtil.getDBCollection("dbtest", "emp"); coll.insert(obj); } /** * 删除 * @param obj */ public static void delete(DBObject obj){ DBCollection coll=DBUtil.getDBCollection("dbtest", "emp"); coll.remove(obj); } /** * 查询 */ public static void query(){ DBCollection coll=DBUtil.getDBCollection("dbtest", "emp"); // 查询集合中所有的数据 DBCursor cur = coll.find(); System.out.println("Record Count:" + cur.count()); while (cur.hasNext()) { DBObject object = cur.next(); System.out.println(object); // 取出对象中列表为'uname'和'upwd'的数据 System.out.println("uname:" + object.get("uname") + "\tupwd:" + object.get("upwd")+"\t_id:"+object.get("_id")); } } /** * 修改 */ public static void modify(DBObject orig,DBObject update){ DBCollection coll=DBUtil.getDBCollection("dbtest", "emp"); coll.update(orig, update, true, false); } public static void main(String[] args) { DBObject empObj=new BasicDBObject(); empObj.put("uname", "teddy"); empObj.put("upwd", "123456"); //添加 add(empObj); query(); DBObject updateObj=new BasicDBObject(); updateObj.put("uname", "teddy"); updateObj.put("upwd", "3333"); //更新 modify(new BasicDBObject("uname","teddy"),updateObj); System.out.println("-----------------------修改后-------------------"); query(); //删除 delete(new BasicDBObject("uname","teddy")); System.out.println("-----------------------删除后-------------------"); query(); } }
运行效果:
by archie
posted on 2012-09-29 23:06 archie2010 阅读(5250) 评论(1) 编辑 收藏 举报