下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當前位置:軟件下載吧 > 數據庫 > DB2 > MongoDB操作類封裝實例代碼

          MongoDB操作類封裝實例代碼

          時間:2024-03-04 00:33作者:下載吧人氣:22

          前言

          最近接到一個需求,要做MongoDB打點數據的統計,在學習過MongoDB的操作之后,封裝了一個MongoDB的操作類,分為兩部分,基本思想是參照了自己寫過的mysql的操作類。一個是基本的操作類,包括所有基本操作的靜態方法,還有一個是mongoobject,就是具體操作的實現類。

          以后再寫如何用spring boot寫一個簡單的統計服務。

          MongoDB操作類封裝

          mongobase代碼如下:

          package com.fun.mongodb;
           
          import com.fun.frame.SourceCode;
          import com.mongodb.MongoClient;
          import com.mongodb.MongoClientURI;
          import com.mongodb.MongoCredential;
          import com.mongodb.ServerAddress;
          import com.mongodb.client.MongoCollection;
          import com.mongodb.client.MongoDatabase;
          import org.bson.Document;
           
          import java.util.Arrays;
          import java.util.List;
           
          /**
           * mongo操作類的基礎類
           */
          public class MongoBase extends SourceCode {
           
           /**
            * 獲取服務地址list
            *
            * @param addresses
            * @return
            */
           public static List<ServerAddress> getServers(ServerAddress... addresses) {
            return Arrays.asList(addresses);
           }
           
           /**
            * 獲取服務地址
            *
            * @param host
            * @param port
            * @return
            */
           public static ServerAddress getServerAdress(String host, int port) {
            return new ServerAddress(host, port);
           }
           
           /**
            * 獲取認證list
            *
            * @param credentials
            * @return
            */
           public static List<MongoCredential> getCredentials(MongoCredential... credentials) {
            return Arrays.asList(credentials);
           }
           
           /**
            * 獲取驗證
            *
            * @param userName
            * @param database
            * @param password
            * @return
            */
           public static MongoCredential getMongoCredential(String userName, String database, String password) {
            return MongoCredential.createCredential(userName, database, password.toCharArray());
           }
           
           /**
            * 獲取mongo客戶端
            *
            * @param addresses
            * @param credentials
            * @return
            */
           public static MongoClient getMongoClient(List<ServerAddress> addresses, List<MongoCredential> credentials) {
            return new MongoClient(addresses, credentials);
           }
           
           /**
            * 連接mongo數據庫
            *
            * @param mongoClient
            * @param databaseName
            * @return
            */
           public static MongoDatabase getMongoDatabase(MongoClient mongoClient, String databaseName) {
            return mongoClient.getDatabase(databaseName);
           }
           
           /**
            * 連接mongo集
            *
            * @param mongoDatabase
            * @param collectionName
            * @return
            */
           public static MongoCollection<Document> getMongoCollection(MongoDatabase mongoDatabase, String collectionName) {
            return mongoDatabase.getCollection(collectionName);
           }
           
           /**
            * 關閉數據庫連接
            *
            * @param mongoClient
            */
           public static void MongoOver(MongoClient mongoClient) {
            mongoClient.close();
           }
           
           /**
            * 獲取mongo客戶端對象,通過servers和credentials對象創建
            *
            * @param mongoObject
            * @return
            */
           public static MongoClient getMongoClient(MongoObject mongoObject) {
            MongoClient mongoClient = new MongoClient(getServers(getServerAdress(mongoObject.host, mongoObject.port)), getCredentials(getMongoCredential(mongoObject.user, mongoObject.database, mongoObject.password)));
            return mongoClient;
           }
           
           /**
            * 獲取mongo客戶端對象,通過uri方式連接
            *
            * @param mongoObject
            * @return
            */
           public static MongoClient getMongoClientOnline(MongoObject mongoObject) {
            String format = String.format("mongodb://%s:%s@%s:%d/%s", mongoObject.user, mongoObject.password, mongoObject.host, mongoObject.port, mongoObject.database);
            return new MongoClient(new MongoClientURI(format));
           }
           
           /**
            * 獲取collection對象
            *
            * @param mongoObject
            * @return
            */
           public static MongoCollection<Document> getCollection(MongoObject mongoObject, String collectionName) {
            return getMongoClient(mongoObject).getDatabase(mongoObject.database).getCollection(collectionName);
           }
           
           /**
            * 獲取collection對象
            *
            * @param mongoObject
            * @return
            */
           public static MongoCollection<Document> getCollectionOnline(MongoObject mongoObject, String collectionName) {
            return getMongoClientOnline(mongoObject).getDatabase(mongoObject.database).getCollection(collectionName);
           }
           
          }
          標簽MongoDB,操作,封裝,實例,代碼

          相關下載

          查看所有評論+

          網友評論

          網友
          您的評論需要經過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 欧美成人aaa片一区国产精品| 免费日本一区二区| 99久久人妻精品免费一区 | 麻豆AV一区二区三区| 一区免费在线观看| 农村人乱弄一区二区 | 精品一区二区三区3d动漫| 亚洲国产成人久久一区WWW | 亚洲Av无码国产一区二区| 性无码一区二区三区在线观看| 在线播放国产一区二区三区 | 国产一区二区三区在线影院| 三上悠亚日韩精品一区在线| 亚洲国产精品一区| 国产手机精品一区二区| 深夜福利一区二区| 无码人妻精品一区二区| 韩国精品一区二区三区无码视频| 国产激情无码一区二区三区| 亚洲一区电影在线观看| 亚洲国产精品第一区二区三区| 久久中文字幕一区二区| 四虎成人精品一区二区免费网站| 成人国产一区二区三区| 韩国美女vip福利一区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 韩国资源视频一区二区三区| 精品国产一区二区三区在线观看 | 91在线看片一区国产| 国产精品亚洲一区二区三区久久| 红杏亚洲影院一区二区三区| 在线精品一区二区三区| 中文字幕AV一区中文字幕天堂| 无码人妻一区二区三区兔费| 国产成人无码AV一区二区在线观看 | 日本免费一区二区三区最新| 国产一区在线视频观看| 国产91大片精品一区在线观看 | 福利在线一区二区| 久久精品国产AV一区二区三区| 一区二区三区精品高清视频免费在线播放 |