当前位置:数据库 > SQLServer >>

NoSql之mongo实现数据库数据操作

NoSql之mongo实现数据库数据操作
 
1、创建唯一数据库实例DB 
Java代码  
package com.boonya.mongo;  
import java.net.UnknownHostException;  
import java.util.Arrays;  
import com.mongodb.DB;  
import com.mongodb.MongoClient;  
import com.mongodb.ServerAddress;  
  
public class DBConnection {  
      
    private DBConnection(){}  
      
    private static String  userName="boonya";  
    private static char [] password="boonya".toCharArray();  
    private static  DB db=null;  
      
    /** 
     * mongoClient = new MongoClient(); 
     * // or 
     * mongoClient = new MongoClient( "localhost" ); 
     * // or 
     * mongoClient = new MongoClient( "localhost" , 27017 ); 
     * // or, to connect to a replica set, supply a seed list of members 
     * @return 
     */  
    public synchronized static DB getInstance(){  
        if(db==null){  
            MongoClient mongoClient=null;  
            try {  
                mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017),  
                        new ServerAddress("localhost", 27018),  
                        new ServerAddress("localhost", 27019)));  
            } catch (UnknownHostException e) {  
                e.printStackTrace();  
            }  
            db = mongoClient.getDB("mydb");  
            boolean auth = db.authenticate(userName,password);  
            if(!auth){                      //the authentication is invalid  
                return null;  
            }  
        }  
        return db;  
    }  
  
}  
 
2、创建CRUD操作工具类 
Java代码  
package com.boonya.mongo.optimize;  
import java.net.UnknownHostException;  
import com.boonya.mongo.utils.ConstantUtils;  
import com.mongodb.DB;  
import com.mongodb.DBCollection;  
import com.mongodb.DBCursor;  
import com.mongodb.DBObject;  
import com.mongodb.Mongo;  
import com.mongodb.MongoException;  
import com.mongodb.MongoOptions;  
  
public class MongDbCRUD {  
      
    private static Mongo mongo = null;  
    private static DB db;  
    private static DBCollection table;  
      
    private static MongDbCRUD instace;  
      
    public static synchronized MongDbCRUD getInstance(){  
        if(instace==null||mongo==null||db==null||table==null){  
            instace = new MongDbCRUD();  
        }  
        return instace;  
    }  
      
    public MongDbCRUD(){  
        String host = ConstantUtils.getValue("mongo.host").toString();  
        int port = Integer.parseInt(ConstantUtils.getValue("mongo.port").toString());  
        String datablease = ConstantUtils.getValue("mongo.datablease").toString();  
        String tablelename = ConstantUtils.getValue("mongo.table.bound").toString();  
          
        try {  
            mongo = new Mongo(host, port);  
            // 连接池  
            MongoOptions opt = mongo.getMongoOptions();  
            opt.connectionsPerHost =  10  ; //poolsize  
            opt.threadsAllowedToBlockForConnectionMultiplier =  10 ;  
              
            //获取temp DB;如果默认没有创建,mongodb会自动创建  
            db = mongo.getDB(datablease);  
            //获取users DBCollection;如果默认没有创建,mongodb会自动创建  
            table = db.getCollection(tablelename);  
            //DO SOMETHING  
        } catch (UnknownHostException e) {  
            e.printStackTrace();  
        } catch (MongoException e) {  
            e.printStackTrace();  
        }  
    }  
      
    public MongDbCRUD(String host, int port, String datablease, String tablelename){  
        try {  
            mongo = new Mongo(host, port);  
            // 连接池  
            MongoOptions opt = mongo.getMongoOptions();  
            opt.connectionsPerHost =  10  ; //poolsize  
            opt.threadsAllowedToBlockForConnectionMultiplier =  10 ;  
              
            //获取temp DB;如果默认没有创建,mongodb会自动创建  
            db = mongo.getDB(datablease);  
            //获取users DBCollection;如果默认没有创建,mongodb会自动创建  
            tab
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,