MongoDB es un producto entre una base de datos relacional y una base de datos no relacional. El formato de almacenamiento de archivos es BSON (una extensión de JSON). Aquí presentamos principalmente a Java para implementar el grupo de conexión MongoDB utilizando el paquete Mongo-2.7.3.Jar. La implementación específica del código Java es la siguiente:
Parámetros de configuración del grupo de conexión de base de datos:
/ ***@Descripción: Mongo Connection Pool Archivo de configuración*/ Package cn.lulei.mongo.pool; clase pública MongoConfig {private static string username; // nombre de usuario static string pwd; // contraseña string static private static [] host;/dirección de host privada static int [] puerto; // puerto dirección stats static static dbname;/name de base de datos private static int conectsperhost = 20; // Número máximo de la conexión PER host STARTSAWDOWEDTOCOBLOCHOBLOCHOBLOCHILTMOLCHIPLIMTULTOMULTOMULTOMULTOMULTOMO 10; // Número de colas de hilo Autenticación booleana estática privada = false; // ¿Se requiere autenticación pública STATIC STRING getUsername () {return UserName; } public static void setUsername (String UserName) {MongoConfig.Username = UserName; } public static string getPwd () {return pwd; } public static void setPwd (String pwd) {MongoConfig.pwd = pwd; } public static string [] gethost () {return host; } public static void sethost (string [] host) {MongoConfig.host = host; } public static int [] getPort () {return Port; } public static void setport (int [] puerto) {mongoConfig.port = puerto; } public static string getDbName () {return dbName; } public static void setdbname (string dbname) {mongoConfig.dbname = dbname; } public static int getConnectionsperhost () {return ConnectionsPerhost; } public static void setConnectionsperhost (int ConnectionsPerhost) {MongoConfig.ConnectionsPerhost = ConnectionsPerhost; } public static int getThreadsAllowedToBlockForConnectionMultiplier () {return ThreadsAllowedToBlockForConnectionMultiplier; } public static void setThreadSallowedToBlockForConnectionMultiplier (int ThreadSAllowedToBlockForConnectionMultiplier) {MongoConfig.ThreadSallowedToBlockForConnectionMultiplier = ThreadSallowedFloClockForConnectionMultiLier; } public static boolean isAuthentication () {return Authentication; } Public static void setAuthentication (autenticación booleana) {MongoConfig.authentication = Authentication; }} Clase de gestión del grupo de conexión de base de datos:
/ ***@Descripción: Mongo Connection Connection Connection Pool Management Clase*/ Package Cn.lulei.mongo.pool; import java.util.arrayList; import java.util.list; import com.mongodb.db; import com.mongodb.dbcollection; import com.mongodb.mongo; import com.mongoDB.Mongooptions; import com.mongoDB.ReadPreference; import com.mongodb.serveraddress; MongoManager de clase pública {Mongo estático privado Mongo; DB privado DB; static {init (); } / ** * @param dbname * @param username * @param pwd * Instanciar dbname a db * / public monganager (string dbname, string username, string pwd) {if (dbname == null || "" .equals (dbname) {throw numberFormexception ("dbname es nula"); } db = mongo.getdb (dbname); if (mongoConfig.isauthentication () &&! db.isauthenticated ()) {if (username == null || "" .equals (nombre de usuario)) {tirar nueva numberFormateException ("UserName es nulo"); } if (pwd == null || "" .equals (pwd)) {tire nuevo numberFormateException ("pwd es nulo"); } db.authenticate (nombre de usuario, pwd.toCarArray ()); }} / *** Instanciar el uso de los parámetros de configuración* / public MongaManager () {this (MongoConfig.getDbName (), MongoConfig.getUsername (), MongoConfig.getpwd ()); } / ** * @param tableName * @return * @Description: Obtenga el enlace a TableName dbCollection * / public dbCollection getDBCollection (string tableName) {return db.getCollection (tableName); } / *** @Description: Mongo Connection Pool Inicialización* / private static void init () {if (MongoConfig.gethost () == NULL || MongoConfig.gethost (). Longitud == 0) {Lanzar nuevo número de NumberAxception ("El huésped es null"); } if (MongoConFig.getPort () == NULL || MongoConFig.getPort (). Longitud == 0) {tire nuevo NumberFormateException ("El puerto es nulo"); } if (MongoConfig.gethost (). Longitud! = MongoConfig.getPort (). Longitud) {Throw New NumberFormateException ("La longitud del host no es igual a la longitud del puerto"); } try {// Service List List <ServerAddress> ReplicAsetSeeds = new ArrayList <ServerAddress> (); para (int i = 0; i <mongoConfig.gethost (). longitud; i ++) {replicaSetSeeds.Add (nuevo ServerAddress (mongoconfig.gethost () [i], monNgoConfig.getPort () [i])); } // Configuración de parámetros del grupo de conexiones opciones de Mongooptions = new Mongooptions (); opciones.connectionsperhost = mongoConfig.getConnectionsperhost (); Opciones.ThreadSallowedToBlockForConnectionMultiplier = MongoConfig.getThreadSallowedToBlockForConnectionMultiplier (); Mongo = New Mongo (ReplicaSetSeeds, Opciones); // legible del servidor mongo.setReadPreference (readPreference.secondary); } catch (Exception e) {E.PrintStackTrace (); }}} Echemos un vistazo a cómo usar este grupo de conexión a través de una clase de prueba simple ~
/ ***@Descripción: Mongo Test*/ Package cn.lulei.mongo.test; import cn.lulei.mongo.pool.mongoconfig; import cn.lulei.mongo.pool.mongomanager; Prueba de clase pública {public static void main (string [] args) {// tODO Método auto-generado stub String [] host = {"127.0.0.1"}; int [] port = {27001}; Mongoconfig.Sethost (huésped); Mongoconfig.setport (puerto); Mongoconfig.setdbname ("novela"); MongoManager Mongomanager = New Mongomanager (); mongomanager.getdbCollection ("capítulo"); }}Al usar la clase de gestión anterior, solo necesita inicializar la clase MongoConfig. Para instancias de Mongomanager, puede usar la configuración de MongoConfig o establecerla usted mismo. Cada vez que obtiene DBCollection, solo necesita llamar al método GetDBCollection (String TableName).
Lo anterior se trata de este artículo. Espero que la descripción en este artículo sea útil para todos para aprender la programación de Java.