MongoDB-это продукт между реляционной базой данных и нереляционной базой данных. Форматом хранилища файлов является BSON (расширение JSON). Здесь мы в основном представляем Java для реализации пула соединений MongoDB, используя пакет Mongo-2,7.3.jar. Конкретная реализация кода Java заключается в следующем:
Параметры конфигурации пула соединений базы данных:
/ ***@Описание: Файл конфигурации пула соединений Mongo*/ package cn.lulei.mongo.pool; открытый класс mongoconfig {private Static String username; // username private static String pwd; // Passioned Private Static String String; Host; // Адрес хоста Private Static int [] порт; // Адрес порта частная статическая строка dbnam 10; // Количество очередей потоков частная статическая логическая аутентификация = false; // является аутентификацией требуется публичная статическая строка 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 [] 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 ThreadsallockEdToBlockForConnectionMultiplier; } public static void setThreadsAllowedToblockforConnectionMultiplier (int threadsAllowedToblockforConnectionMultiplier) {mongoConfig.ThreadsAllowedToblockforConnectionMultiplier = ThreadSallowedToblockforConnectionMultiplier; } public static boolean isauthentication () {return authentication; } public static void setAuthentication (логическая аутентификация) {mongoConfig.Authentication = аутентификация; }} Класс управления пулом соединений базы данных:
/ ***@Описание: класс управления базой базы данных Mongo*/ пакет cn.lulei.mongo.pool; импортировать java.util.arraylist; импортировать java.util.list; Импорт com.mongodb.db; Импорт com.mongodb.dbcollection; Импорт com.mongodb.mongo; Импорт com.mongodb.mongooptions; Импорт com.mongodb.readpreference; Импорт com.mongodb.serveraddress; Public Class Mongomanager {Private Static Mongo Mongo; Частный DB DB; static {init (); } / ** * @param dbname * @param username * @param pwd * instantiate dbname a db * / public mongomanager (string dbname, string username, string pwd) {if (dbname == null || "" .equals (dbname) {throw nemberformatexception ("dbname null"); } db = mongo.getdb (dbname); if (mongoconfig.isauthentication () &&! db.isauthenticated ()) {if (username == null || "" .equals (username)) {бросить новое число Formatexception («Имя пользователя Null»); } if (pwd == null || "" .equals (pwd)) {throw nemberformatexception ("pwd is null"); } db.authenticate (имя пользователя, pwd.tochararray ()); }} / *** Инстанция с использованием параметров конфигурации* / public mongomanager () {this (mongoconfig.getdbname (), mongoconfig.getusername (), mongoconfig.getpwd ()); } / ** * @param tableName * @return * @description: получить ссылку на TableName dbcollection * / public dbcollection getDbCollection (String TableName) {return db.getCollection (tableName); } / *** @description: инициализация пула соединений Mongo* / private static void init () {if (mongoconfig.gethost () == null || mongoconfig.gethost (). Length == 0) {Throw New NumberFormatexception ("host is null"); } if (mongoconfig.getport () == null || mongoconfig.getport (). Length == 0) {Throw New NumberFormateXception ("порт null"); } if (mongoconfig.gethost (). length! = mongoconfig.getport (). } try {// Список списков службы <serveraddress> ReplicasetSeeds = new ArrayList <sereraDdress> (); for (int i = 0; i <mongoconfig.gethost (). } // Настройки параметров пула соединений параметры mongoptions = new mongooptions (); options.connectionsperhost = mongoconfig.getConnectionsperhost (); Options.ThreadsAllowedToblockforConnectionMultiplier = mongoConfig.getThreadSallowedToblockforConnectionMultiplier (); mongo = new Mongo (Replicasetseeds, опции); // читается с сервера mongo.setreadpreference (readpreference.secondator); } catch (Exception e) {e.printstackTrace (); }}} Давайте посмотрим, как использовать этот пул соединений через простой тестовый класс ~
/ ***@Описание: тест Mongo*/ package cn.lulei.mongo.test; Импорт cn.lulei.mongo.pool.mongoconfig; Импорт cn.lulei.mongo.pool.mongomanager; открытый тест класса {public static void main (string [] args) {// todo Автопогенетированный метод string [] host = {"127.0.0.1"}; int [] port = {27001}; Mongoconfig.sethost (хост); Mongoconfig.setport (порт); Mongoconfig.setdbname («роман»); Mongomanager Mongomanager = new Mongomanager (); mongomanager.getdbcollection ("глава"); }}При использовании вышеупомянутого класса управления вам нужно только инициализировать класс MongoConfig. Для случаев Mongomanager вы можете использовать конфигурацию MongoConfig или установить ее самостоятельно. Каждый раз, когда вы получаете DBColection, вам нужно только вызвать метод GetDBCollection (String TableName).
Выше всего об этой статье. Я надеюсь, что описание в этой статье будет полезно для всех, чтобы изучить Java Programming.