首页 > 数据库技术 > 详细

Java MongoDB

时间:2015-09-09 21:31:11      阅读:348      评论:0      收藏:0      [点我收藏+]

package com.mongodb.test;

import org.bson.Document;

import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;



public final class MongoDB {


public interface MongoObject {
    String getName();
    void toDocument(Document doc);

}

public interface IdObject extends MongoObject {
    String getId();
}

    private static  MongoDB theInstance = new MongoDB();


    private static MongoClient mongo;
    private static final String dbName = "local";

    private MongoDB() {
    }
    
    public  static void init(String host, int port, String user, String pwd) {
        assert mongo == null;
        
        if (host == null || host.isEmpty())
            host = "localhost";
        if (port == 0)
            port = 27017;
        
        mongo = new MongoClient(host, port);
        System.out.println("INFO:init mongodb " + host + " " + port);
        
        
    }
    
    public static MongoDB getInstance() {
        assert mongo != null;
        return theInstance;
        
    }
    
    public boolean updateById(IdObject record) {
        assert mongo != null;
        
        try  {
            MongoDatabase db = mongo.getDatabase(dbName);
            
            MongoCollection<Document> collect = db.getCollection(record.getName());
        
            Document select = new Document();
            select.put("id", record.getId());
            
            Document doc = new Document();
            record.toDocument(doc);
            collect.replaceOne(select, doc);
            
        }
        catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        
        return true;
    }
    
    public long checkById(String collectName, String id) {
        assert mongo != null;
        
        try  {
            MongoDatabase db = mongo.getDatabase(dbName);
            
            MongoCollection<Document> collect = db.getCollection(collectName);
        
            Document select = new Document();
            select.put("id", id);
            
            long count = collect.count(select);
            
            return count;
            
        }
        catch (Exception e) {
            e.printStackTrace();
            return -1;
        }
        
    }
    
    public boolean delById(String collectName, String id) {
        assert mongo != null;
        
        try  {
            MongoDatabase db = mongo.getDatabase(dbName);
            
            MongoCollection<Document> collect = db.getCollection(collectName);
        
            Document select = new Document();
            select.put("id", id);
            
            collect.deleteOne(select);
            
        }
        catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        
        return true;
    }
    
    public boolean insert(MongoObject record) {
        assert mongo != null;
        
        try  {
            MongoDatabase db = mongo.getDatabase(dbName);
            
            MongoCollection<Document> collect = db.getCollection(record.getName());
        
            Document doc = new Document();
            record.toDocument(doc);
            
            
            collect.insertOne(doc);
            
            System.out.println("DEBUG:insert OK");
            
        }
        catch (Exception e) {
            e.printStackTrace();
            System.out.println("DEBUG:insert FAILED ****************");
            return false;
        }
        
        return true;
      
    }
}

Java MongoDB

原文:http://my.oschina.net/u/612750/blog/504000

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!