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

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

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

    我的漫漫程序之旅

    專注于JavaWeb開發(fā)
    隨筆 - 39, 文章 - 310, 評(píng)論 - 411, 引用 - 0
    數(shù)據(jù)加載中……

    mongodb之java CRUD 簡單操作

    驅(qū)動(dòng)包下載:https://github.com/mongodb/mongo-java-driver/downloads
    我下載的是 mongo-2.8.0.jar — Version 2.8.0
    打開mongo shell -- 新建數(shù)據(jù)庫test --( use test)
    打開eclipse新建工程,把junit,mongo-2.8.0.jar導(dǎo)入。
    新建測試類如下:
    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就是一行記錄(一個(gè)文檔)
                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");
            // 一個(gè)人有一個(gè)職位
            
    // 數(shù)據(jù)庫json格式:{username:"zdw",password:"123",position:{name:"工程師"}}
            BasicDBObject o = new BasicDBObject();
            o.put("name", "經(jīng)理");
            object.put("position", o);
            dbc.insert(object);

            object = new BasicDBObject();
            object.put("username", "zhangjun");
            object.put("password", "456");
            // 一個(gè)人有多個(gè)職位(一個(gè)文檔里有多個(gè)文檔)
            
    // 數(shù)據(jù)庫json格式:{username:"zhangjun",password:"456",position:[{name:"工程師"},{name:"設(shè)計(jì)師"}]}
            List<Object> list = new ArrayList<Object>();
            o = new BasicDBObject();
            o.put("name", "工程師");
            list.add(o);
            o = new BasicDBObject();
            o.put("name", "設(shè)計(jì)師");
            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");
            // 根據(jù)id修改密碼,需要加$set,否則所有記錄的password都會(huì)被修改,其它字段刪除。
            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存儲(chǔ)方式,操作很方便。
    源碼下載


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

    主站蜘蛛池模板: 亚洲а∨天堂久久精品| 一二三四在线播放免费观看中文版视频| 中文字幕亚洲图片| 99久久免费国产精品热| 亚洲宅男天堂a在线| 午夜免费不卡毛片完整版| 一级毛片在线完整免费观看| 亚洲狠狠婷婷综合久久久久| 黄瓜视频影院在线观看免费| 一级毛片免费在线| 亚洲一级毛片免费在线观看| 日韩精品亚洲专区在线观看| 日本免费一区二区三区| 亚洲国产精品无码第一区二区三区 | 免费国产黄线在线观看| 久久久久久噜噜精品免费直播| 亚洲AV无码久久久久网站蜜桃| 亚洲色欲久久久久综合网| 性xxxxx免费视频播放| 好湿好大好紧好爽免费视频| 一本天堂ⅴ无码亚洲道久久| 亚洲成av人在线视| 日本19禁啪啪无遮挡免费动图| 最近中文字幕免费2019| 可以免费观看的国产视频| 美女被吸屁股免费网站| 亚洲综合精品第一页| 亚洲高清视频在线播放| 亚洲第一AV网站| 亚洲一区二区三区在线观看精品中文| 免费看少妇作爱视频| 最新欧洲大片免费在线| 51视频精品全部免费最新| 国产偷伦视频免费观看| 免费无码一区二区三区蜜桃| 免费一区二区无码视频在线播放| 亚洲国产美女精品久久久| 亚洲国产成a人v在线观看| 亚洲av一本岛在线播放| 亚洲欧洲精品视频在线观看| 中文字幕亚洲色图|