MongoDB adalah produk antara database relasional dan database non-relasional. Format penyimpanan file adalah BSON (perpanjangan JSON). Di sini kami terutama memperkenalkan Java untuk mengimplementasikan kumpulan koneksi MongoDB dengan menggunakan paket Mongo-2.7.3.jar. Implementasi Kode Java spesifik adalah sebagai berikut:
Parameter konfigurasi kumpulan koneksi database:
/ ***@Deskripsi: File konfigurasi kumpulan koneksi mongo*/ paket cn.lulei.mongo.pool; public class MongoConfig { private static String userName;//username private static String pwd;//password private static String[] host;//host address private static int[] port;//port address private static String dbName;//database name private static int connectionsPerHost = 20;//maximum number of connections per host private static int threadsAllowedToBlockForConnectionMultiplier = 10; // Jumlah antrian utas statis boolean statis authentication = false; // adalah otentikasi yang diperlukan string statis publik 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 getConnectionPerHost () {return connectionPerHost; } public static void setConnectionPerHost (int connectionPerHost) {mongoconfig.connectionPerHost = connectionPerHost; } public static int getThreadSallowedToBlockForConnectionMultiplier () {return threadSallowedToBlockForConnectionMultiplier; } public static void setThreadSallowedToBlockForConnectionMultiplier (int threadsallowedtoBlockForConnectionMultiplier) {mongoconfig.threadsallowedtoBlockForConnectionMultiplier = threadsallowedtoBlockForConnectionMultiplier; } public static boolean isAuthentication () {return authentication; } public static void setAuthentication (otentikasi boolean) {mongoconfig.authentication = otentikasi; }} Kelas Manajemen Pool Koneksi Database:
/ ***@Deskripsi: Mongo Database Connection Pool Management Class*/ Paket cn.lulei.mongo.pool; impor java.util.arraylist; impor java.util.list; impor com.mongodb.db; impor com.mongodb.dbcollection; impor com.mongodb.mongo; impor com.mongodb.mongooptions; impor com.mongodb.readpreference; impor com.mongodb.serveraddress; mongomanager kelas publik {private static mongo mongo; DB Private DB; static {init (); } / ** * @param dbname * @param nama pengguna * @param pwd * instantiate dbname a db * / public mongomanager (string dbname, string username, string pwd) {if (dbname == null || ".Equals (dbName)) {if number; } db = mongo.getdb (dbName); if (mongoconfig.isAuthentication () &&! db.isAuthenticated ()) {if (username == null || "" .Equals (username)) {throw numberFormateException baru ("nama pengguna adalah null"); } if (pwd == null || "" .equals (pwd)) {lempar numberFormateException baru ("pwd is null"); } db.authenticate (nama pengguna, pwd.tochararray ()); }} / *** Instantiate menggunakan parameter konfigurasi* / public mongomanager () {this (mongoconfig.getdbname (), mongoconfig.getusername (), mongoconfig.getpwd ()); } / ** * @param tableName * @return * @description: Dapatkan tautan ke tableName dbcollection * / dbcollection publik getDbCollection (string tableName) {return db.getCollection (tableName); } / *** @description: Mongo Connection Pool Inisialisasi* / private static void init () {if (mongoconfig.getHost () == null || mongoconfig.gethost (). Length == 0) {throw numberFormateSception ("host is null"); } if (mongoconfig.getport () == null || mongoconfig.getport (). Length == 0) {throw numberFormateException baru ("Port is null"); } if (mongoconfig.gethost (). length! = mongoconfig.getport (). length) {throw numberFormateException baru ("Panjang host tidak sama dengan panjang port"); } coba {// Daftar Layanan Daftar Layanan <ServerAddress> replicasetseeds = ArrayList baru <ServerAddress> (); untuk (int i = 0; i <mongoconfig.gethost (). length; i ++) {replicasetseeds.add (serveraddress baru (mongoconfig.gethost () [i], mongoconfig.getport () [i]))); } // Pengaturan Parameter Pool Koneksi Opsi Mongooptions = Mongooptions baru (); option.connectionPerHost = mongoconfig.getConnectionPerHost (); options.threadsallowedtoBlockForConnectionMultiplier = mongoconfig.getThreadsallowedtoBlockForConnectionMultiplier (); mongo = mongo baru (replicasetseed, opsi); // dapat dibaca dari server mongo.setreadpreference (readpreference.secondary); } catch (Exception e) {E.PrintStackTrace (); }}} Mari kita lihat cara menggunakan kumpulan koneksi ini melalui kelas tes sederhana ~
/ ***@Deskripsi: tes mongo*/ paket cn.lulei.mongo.test; impor cn.lulei.mongo.pool.mongoconfig; impor cn.lulei.mongo.pool.mongomanager; tes kelas publik {public static void main (string [] args) {// TODO METODE AUTO-ENTOERATED Stub string [] host = {"127.0.0.1"}; int [] port = {27001}; Mongoconfig.sethost (host); Mongoconfig.setport (port); Mongoconfig.setdbname ("novel"); Mongomanager mongomanager = mongomanager baru (); mongomanager.getdbcollection ("bab"); }}Saat menggunakan kelas manajemen di atas, Anda hanya perlu menginisialisasi kelas Mongoconfig. Untuk contoh Mongomanager, Anda dapat menggunakan konfigurasi Mongoconfig atau mengaturnya sendiri. Setiap kali Anda mendapatkan DBCollection, Anda hanya perlu memanggil metode GetDbCollection (String Tablename).
Di atas adalah semua tentang artikel ini. Saya berharap deskripsi dalam artikel ini akan membantu semua orang untuk mempelajari pemrograman Java.