<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

    專注于JavaWeb開發
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數據加載中……

    mongodb之java CRUD 簡單操作

    驅動包下載:https://github.com/mongodb/mongo-java-driver/downloads
    我下載的是 mongo-2.8.0.jar — Version 2.8.0
    打開mongo shell -- 新建數據庫test --( use test)
    打開eclipse新建工程,把junit,mongo-2.8.0.jar導入。
    新建測試類如下:
    package com.db;

    import java.net.UnknownHostException;
    import java.util.ArrayList;
    import java.util.List;

    import org.bson.types.ObjectId;
    import org.junit.After;
    import org.junit.Test;

    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;

    public class DBUtils {
        private static Mongo mongo;
        private static DB db;
        static {
            try {
                mongo = new Mongo("localhost", 27017);
            } catch (UnknownHostException e) {
                e.printStackTrace();
            } catch (MongoException e) {
                e.printStackTrace();
            }
            db = mongo.getDB("test");
        }

        @After
        public void output() {
            // 測試完顯示所有
            DBCollection dbc = db.getCollection("user");
            DBCursor cursor = dbc.find();
            while (cursor.hasNext()) {
                // cursor.next就是一行記錄(一個文檔)
                System.out.println(cursor.next());
            }
        }

        @Test
        public void testInsert() throws Exception {
            DBCollection dbc = db.getCollection("user");
            DBObject object = new BasicDBObject();
            object.put("username", "zdw");
            object.put("password", "123");
            // 一個人有一個職位
            
    // 數據庫json格式:{username:"zdw",password:"123",position:{name:"工程師"}}
            BasicDBObject o = new BasicDBObject();
            o.put("name", "經理");
            object.put("position", o);
            dbc.insert(object);

            object = new BasicDBObject();
            object.put("username", "zhangjun");
            object.put("password", "456");
            // 一個人有多個職位(一個文檔里有多個文檔)
            
    // 數據庫json格式:{username:"zhangjun",password:"456",position:[{name:"工程師"},{name:"設計師"}]}
            List<Object> list = new ArrayList<Object>();
            o = new BasicDBObject();
            o.put("name", "工程師");
            list.add(o);
            o = new BasicDBObject();
            o.put("name", "設計師");
            list.add(o);
            object.put("position", list);
            dbc.insert(object);
        }

        // 刪除指定
        @Test
        public void testRemoveOne() throws Exception {
            DBCollection dbc = db.getCollection("user");
            DBObject o = new BasicDBObject();
            o.put("username", "zhangjun");
            dbc.remove(o);
        }

        @Test
        public void testModify() throws Exception {
            DBCollection dbc = db.getCollection("user");
            // 根據id修改密碼,需要加$set,否則所有記錄的password都會被修改,其它字段刪除。
            int result = dbc.update(
                            new BasicDBObject("_id", new ObjectId(
                                    "4ff8eaa65dbc67340278a07c")),
                            new BasicDBObject("$set", new BasicDBObject("password",
                                    "4444"))).getN();
            System.out.println(result);
        }

        @Test
        public void testRemove() throws Exception {
            DBCollection dbc = db.getCollection("user");
            // 刪除全部
            dbc.drop();
        }

        // 查詢指定
        @Test
        public void testFindOne() throws Exception {
            DBCollection dbc = db.getCollection("user");
            DBObject o = new BasicDBObject();
            o.put("username", "zdw");
            DBObject obj = dbc.findOne(o);
            System.out.println(obj);
        }

    }

    這種key-value存儲方式,操作很方便。
    源碼下載


    posted on 2012-07-08 10:25 々上善若水々 閱讀(2276) 評論(0)  編輯  收藏 所屬分類: 數據庫

    主站蜘蛛池模板: 中文字幕无码不卡免费视频| 中文在线免费看视频| 黄瓜视频影院在线观看免费| 91久久亚洲国产成人精品性色| 一个人免费观看视频在线中文| 亚洲人成影院在线无码观看| 午夜亚洲WWW湿好爽| 国产免费私拍一区二区三区| 亚洲AV电影天堂男人的天堂| 国产精品久免费的黄网站| 亚洲成AV人片在WWW| 亚洲?V无码成人精品区日韩| 一级成人毛片免费观看| 亚洲日韩一页精品发布| a级毛片无码免费真人久久| 亚洲国产高清在线| 亚洲视频在线免费看| 亚洲妇女熟BBW| 亚洲成av人片天堂网老年人| 久久九九免费高清视频| 亚洲AV日韩AV鸥美在线观看| 99re6在线视频精品免费下载 | 久久精品国产免费观看三人同眠 | 亚洲人成电影网站免费| 国产无遮挡又黄又爽免费视频| 一级特黄色毛片免费看| 亚洲国产精华液网站w| 国产精品1024永久免费视频 | 又长又大又粗又硬3p免费视频| 亚洲中文字幕无码久久综合网| 99久久99久久精品免费观看| 亚洲人成色77777在线观看| av在线亚洲欧洲日产一区二区| 一区二区三区观看免费中文视频在线播放 | 免费看香港一级毛片| caoporn国产精品免费| 亚洲美女aⅴ久久久91| 国产伦精品一区二区三区免费下载| 久青草视频97国内免费影视| 亚洲另类图片另类电影| 亚洲精品成人在线|