<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)入。
    新建測(cè)試類如下:
    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() {
            // 測(cè)試完顯示所有
            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ù)庫

    主站蜘蛛池模板: 亚洲精品人成在线观看| 日韩电影免费在线观看中文字幕 | 久久精品国产亚洲AV未满十八| 亚洲妇熟XXXX妇色黄| 免费看国产曰批40分钟| 日本阿v免费费视频完整版| APP在线免费观看视频| 精品久久久久久亚洲综合网| 亚洲国产美女视频| 婷婷亚洲久悠悠色悠在线播放| 亚洲伊人成无码综合网| 国产美女无遮挡免费网站| 可以免费看的卡一卡二| 91免费国产精品| 在线看片免费人成视频久网下载| 亚洲av成人一区二区三区在线播放 | 91亚洲导航深夜福利| 亚洲无线码一区二区三区| 五月天婷亚洲天综合网精品偷| 毛片免费全部免费观看| 免费精品国产日韩热久久| 亚洲视频在线观看免费视频| 久久这里只精品99re免费| 国产午夜成人免费看片无遮挡 | 在线观看特色大片免费视频| 1000部羞羞禁止免费观看视频 | 久久综合久久综合亚洲| 国产乱子伦精品免费女| 97人伦色伦成人免费视频| 亚洲精品在线免费看| 国产免费爽爽视频在线观看| 亚洲精品第一国产综合亚AV| 亚洲一区在线视频| 亚洲综合激情视频| 亚洲成av人片在线观看无码不卡| 亚洲日韩涩涩成人午夜私人影院| 国产青草视频免费观看97| 久久久久久久久免费看无码| 国产啪精品视频网免费| 美女内射毛片在线看免费人动物| 99re6在线精品视频免费播放|