MongoDB ist ein Produkt zwischen einer relationalen Datenbank und einer nicht-relationalen Datenbank. Das Dateispeicherformat ist BSON (eine Erweiterung von JSON). Hier stellen wir hauptsächlich Java vor, um den MongoDB-Verbindungspool mit dem Mongo-2.7.3.jar-Paket zu implementieren. Die spezifische Implementierung von Java -Code lautet wie folgt:
Datenbankverbindungspool -Konfigurationsparameter:
/ ***@Beschreibung: Mongo Connection Pool -Konfigurationsdatei*/ Paket cn.lulei.mongo.pool; public class mongoconfig {private static String Benutzername; // Benutzername private statische String PWD; // Passwort private statische String [] Host; // Hostadresse private statische int [] port; // Port Adresse Private Static String dbname; // Datenbankname private statische IntaPlektroverhost = 20; 10; // Anzahl der Thread -Warteschlangen private statische boolesche Authentifizierung = false; // ist Authentifizierung erforderlich öffentliche statische String GetUnername () {Rückgabe -Benutzername; } public static void setUnername (String -Benutzername) {mongoconfig.username = userername; } 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 [] port) {mongoconfig.port = port; } 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 = ThreadSallowedToBlockForConnectionMultiplierer; } public static boolean isauthentication () {Return Authentication; } public static void setAuthentication (Boolesche Authentifizierung) {mongoconfig.Authentication = Authentifizierung; }} Datenbankverbindungspool -Verwaltungsklasse:
/ ***@Beschreibung: Mongo -Datenbankverbindungspool -Verwaltungsklasse*/ Paket cn.lulei.mongo.pool; Import Java.util.ArrayList; importieren java.util.list; import com.mongodb.db; import com.mongodb.dbcollection; import com.mongodb.mongo; com.mongoDB.Mongoopions; import com.mongodb.readpreference; import com.mongodb.serveraddress; Public Class Mongomanager {Private statische Mongo -Mongo; privates db db; static {init (); } / ** * @param dbname * @param userername * @param pwd * Instanzipiert dbname a db * / public mongomanager (String dbname, String username, String pwd) {if (dbname == null || } db = mongo.getDB (dbname); if (mongoconfig.isauthentication () &&! db.isauthenticated ()) {if (userername == null || "" .Equals (Benutzername)) {neue numberformatexception ("Benutzername is null"); } if (pwd == null || "" .equals (pwd)) {neue numberformatexception ("pwd is null"); } db.authenticate (Benutzername, pwd.toarArray ()); }} / *** Instanziierung mit Konfigurationsparametern* / public mongomanager () {this (mongoconfig.getDbname (), mongoconfig.getUnername (), mongoconfig.getPWD ()); } / ** * @param tableName * @Return * @Description: Holen Sie sich den Link zu TableName dbCollection * / public dbCollection getdbCollection (String TableName) {return db.getCollection (tablename); } / *** @Description: Mongo Connection Pool Initialisierung* / private static void init () {if (mongoconfig.gethost () == null || mongoconfig.gethost (). Länge == 0) {neue numberformatexception ("Host is null"); } if (mongoconfig.getport () == null || mongoconfig.getPort (). Länge == 0) {neue numberformatexception ("Port ist null"); } if (mongoconfig.gethost (). länge! } try {// Dienstliste <Serveraddress> replicaSetSeeds = new ArrayList <Serveraddress> (); für (int i = 0; i <mongoconfig.gethost (). Länge; i ++) {replicaSetSeeds.add (neuer ServeradDress (mongoconfig.gethost () [i], mongoconfig.getport () [i])); } // Verbindungspool -Parametereinstellungen Mongoopions Optionen = new Mongoopions (); options.connectionSperhost = mongoconfig.getConnectionSperhost (); Optionen.ThreadSallowedTOblockForConnectionMultiplier = Mongoconfig.GethreadSallowedTOblockForConnectionMultiplier (); mongo = neuer mongo (ReplicasetSeeds, Optionen); // lesbar aus dem Server mongo.setReadPreference (ReadPreference.Secondary); } catch (Ausnahme e) {e.printstacktrace (); }}} Schauen wir uns an, wie Sie diesen Verbindungspool über eine einfache Testklasse verwenden ~
/ ***@Beschreibung: Mongo -Test*/ Paket cn.lulei.mongo.test; import cn.lulei.mongo.pool.mongoconfig; import cn.lulei.mongo.pool.mongomanager; public class test {public static void main (String [] args) {// Todo automatisch generierte Methode Stub String [] host = {"127.0.1"}; int [] port = {27001}; Mongoconfig.sethost (Host); Mongoconfig.setport (port); Mongoconfig.setdbname ("Roman"); Mongomanager Mongomanager = neuer Mongomanager (); Mongomanager.getDbCollection ("Kapitel"); }}Bei Verwendung der obigen Verwaltungsklasse müssen Sie nur die Mongoconfig -Klasse initialisieren. Für Instanzen von Mongomanager können Sie die Mongoconfig -Konfiguration verwenden oder selbst einstellen. Jedes Mal, wenn Sie DBCollection erhalten, müssen Sie nur die Methode GetDBCollection (String TablName) aufrufen.
Das obige dreht sich alles um diesen Artikel. Ich hoffe, dass die Beschreibung in diesem Artikel für alle hilfreich sein wird, um Java -Programme zu lernen.