mongodb实现简单的增删改查(一)

2014-11-24 11:51:59 · 作者: · 浏览: 0
mongodb实现简单的增删改查
 package mongoDB;  
  import java.net.UnknownHostException;  
  import java.util.ArrayList;     
  import java.util.List;  
  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.MongoException;    
      
 /** 
  * java 
  * mongodb的数据插入、读取、更新、删除 
  */    
  public class test{  
     private static Mongo m = null;    
     private static DB db = null;    
         
     //数据集合名称    
     private static final String COLLECTION_NAME = "mcpang";    
     
     /* 
      * 测试java处理mongodb的增、删、改、查操作 
      */    
     public static void main(String[] args) {    
         //获取数据库连接    
         startMongoDBConn();    
         //保存数据    
         createColData();    
         //读取数据    
         readColData();    
         //更新数据    
         updateColData();    
         //读取数据    
         readColData();    
         //删除数据    
         deleteColData();    
         //读取数据    
         readColData();    
         //删除数据集    
         db.getCollection(COLLECTION_NAME).drop();    
        //关闭数据库连接    
         stopMondoDBConn();    
             
             
     }    
         
     /** 
      * 数据插入 
      * 测试数据: 
      * 【name:小李、age:30、address:北京】 
      * 【name:小张、age:25、address:天津】 
      * @return   
      */    
     private static void createColData(){    
         DBCollection dbCol = db.getCollection(COLLECTION_NAME);    
         System.out.println("向数据集中插入数据开始:");    
         List dbList = new ArrayList();    
         BasicDBObject doc1 = new BasicDBObject();    
         doc1.put("name", "小李");    
         doc1.put("age", 30);    
         doc1.put("address", "北京");    
         dbList.add(doc1);    
             
        BasicDBObject doc2 = new BasicDBObject();    
        doc2.put("name", "小张");    
doc2.put("age", 25); doc2.put("address", "天津"); dbList.add(doc2); dbCol.insert(dbList); System.out.println("向数据集中插入数据完成!"); System.out.println("------------------------------"); } /** * 数据读取 */ private static void readColData(){ DBCollection dbCol = db.getCollection(COLLECTION_NAME); DBCursor ret = dbCol.find(); System.out.println("从数据集中读取数据:"); while(ret.hasNext()){ BasicDBObject bdbObj = (BasicDBObject) ret.next(); if(bdbObj != null){ System.out.println("name:"+bdbObj.getString("name")); System.out.println("age:"+bdbObj.getInt("age")); System.out.println("address:"+bdbObj.getString("address")); } } } /** * 数据更新 * update(q, o, upsert, multi) * update(q, o, upsert, multi, concern) * update(arg0, arg1, arg2, arg3, arg4, arg5) * updateMulti(q, o) */ private static void updateColData(){ System.out.println("------------------------------"); DBCollection dbCol = db.getCollection(COLLECTION_NAME); DBCursor ret = dbCol.find(); BasicDBObject doc = new BasicDBObject(); BasicDBObject res = new BasicDBObject(); res.put("age", 40); System.out.println("将数据集中的所有文档的age修改成40!"); doc.put("$set", res); dbCol.update(new BasicDBObject(),doc,false,true); System.out.println("更新数据完成!"); System.out.println("------------------------------"); } /** * 数据删除 */ private static void deleteColData(){ System.out.println("------------------------------"); DBCollection dbCol = db.getCollection(COLLECTION_NAME); System.out.println("删除【小李】!"); BasicDBObject doc = new BasicDBObject(); doc.put("name", "小李"); dbCol.remove(doc); System.out.println("------------------------------"); } /** * 关闭mongodb数据库连接 */ private static void stopMondoDBConn(){ if (null != m) { if (null != db) { // 结束Mongo数据库的事务请求 try { db.re