mongo Dao层 增删改查方法

来源:互联网 发布:ipad4软件更新打不开 编辑:程序博客网 时间:2024/05/01 21:34

//比如调用的时 调用MongoOpt.findOne(db,xxx)


public class MongoOpt {


    public static boolean findTorF(DB db, String collName, DBObject query) {
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return false;
        }
        DBCollection coll = db.getCollection(collName);
        DBCursor cursor = coll.find(query);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                return false;
            }
            cursor.close();
            return true;
        }
        return false;
    }

    public static DBObject findOne(DB db, String collName, DBObject query) {
        DBObject obj = null;

        if (db == null || collName == null || collName.trim().isEmpty()) {
            return obj;
        }

        DBCollection coll = db.getCollection(collName);

        DBCursor cursor = coll.find(query);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                continue;
            }

            obj = doc;
            break;
        }
        cursor.close();

        return obj;
    }

    public static DBObject findOne(DB db, String collName, DBObject query, DBObject sort) {
        DBObject obj = null;

        if (db == null || collName == null || collName.trim().isEmpty()) {
            return obj;
        }

        DBCollection coll = db.getCollection(collName);

        DBCursor cursor = coll.find(query).sort(sort);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                continue;
            }

            obj = doc;
            break;
        }
        cursor.close();

        return obj;
    }

    public static List<DBObject> find(DB db, String collName, DBObject query, DBObject sort) {

        List<DBObject> docList = new ArrayList<DBObject>();
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return docList;
        }

        DBCollection coll = db.getCollection(collName);

        DBCursor cursor = coll.find(query).sort(sort);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                continue;
            }

            docList.add(doc);
        }
        cursor.close();

        return docList;
    }

    public static List<DBObject> find(DB db, String collName, DBObject query, DBObject sort, int nLimit) {

        List<DBObject> docList = new ArrayList<DBObject>();
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return docList;
        }

        DBCollection coll = db.getCollection(collName);

        DBCursor cursor = coll.find(query).sort(sort).limit(nLimit);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                continue;
            }

            docList.add(doc);
        }
        cursor.close();

        return docList;
    }

    public static List<DBObject> find(DB db, String collName, DBObject query, DBObject sort, int nSkip, int nLimit) {

        List<DBObject> docList = new ArrayList<DBObject>();
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return docList;
        }

        DBCollection coll = db.getCollection(collName);

        DBCursor cursor = coll.find(query).sort(sort).skip(nSkip).limit(nLimit);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                continue;
            }

            docList.add(doc);
        }
        cursor.close();

        return docList;
    }

    public static boolean insert(DB db, String collName, DBObject docParam) {
        boolean b = false;
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return b;
        }

        DBCollection coll = db.getCollection(collName);

        WriteResult wr = coll.insert(docParam);

        if (wr.getLastError().getDouble("ok") > 0) {
            b = true;
        }

        return b;
    }

    public static boolean insertMulti(DB db, String collName, List<DBObject> docListParam) {
        boolean b = false;
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return b;
        }

        DBCollection coll = db.getCollection(collName);

        WriteResult wr = coll.insert(docListParam);

        if (wr.getLastError().getDouble("ok") > 0) {
            b = true;
        }

        return b;
    }

    public static boolean update(DB db, String collName, DBObject query, DBObject docParam) {
        boolean b = false;
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return b;
        }

        DBCollection coll = db.getCollection(collName);

        DBObject object = new BasicDBObject();
        object.put("$set", docParam);

        WriteResult wr = coll.update(query, object);

        if (wr.getLastError().getDouble("ok") > 0) {
            b = true;
        }

        return b;
    }

    public static boolean updateMulti(DB db, String collName, DBObject query, DBObject docParam) {
        boolean b = false;
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return b;
        }

        DBCollection coll = db.getCollection(collName);

        DBObject object = new BasicDBObject();
        object.put("$set", docParam);

        WriteResult wr = coll.updateMulti(query, object);

        if (wr.getLastError().getDouble("ok") > 0) {
            b = true;
        }

        return b;
    }

    public static boolean delete(DB db, String collName, DBObject query) {
        boolean b = false;
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return b;
        }

        DBCollection coll = db.getCollection(collName);

        WriteResult wr = coll.remove(query);

        if (wr.getLastError().getDouble("ok") > 0) {
            b = true;
        }

        return b;
    }

}


0 0
原创粉丝点击