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

          軟件下載吧

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

          MongoDB操作類封裝實例代碼

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

          前言

          最近接到一個需求,要做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,操作,封裝,實例,代碼

          相關下載

          查看所有評論+

          網友評論

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

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 亚洲国产精品一区二区久| 无码人妻一区二区三区精品视频 | 国精产品一区一区三区MBA下载| 精品国产香蕉伊思人在线在线亚洲一区二区 | 亚洲一区二区三区久久| 精品国产一区二区三区AV性色| 午夜性色一区二区三区不卡视频| 99精品国产高清一区二区| 亚洲色无码一区二区三区| 一区二区三区亚洲视频| 精彩视频一区二区三区| 国产精品久久亚洲一区二区| 97久久精品无码一区二区天美| 久久精品一区二区东京热| 国产在线视频一区二区三区98 | 糖心vlog精品一区二区三区| 蜜臀AV在线播放一区二区三区| 美女啪啪一区二区三区| 国产乱码一区二区三区爽爽爽 | 国产精品亚洲专区一区| 成人精品一区久久久久| 夜夜高潮夜夜爽夜夜爱爱一区| 无码一区二区三区爆白浆| 精产国品一区二区三产区| 亚洲av无码一区二区三区天堂| 亚洲国产精品一区二区久| 麻豆AV无码精品一区二区 | 国产精品久久久久一区二区三区| 精品国产一区二区三区色欲| 国产福利91精品一区二区| 亚洲高清一区二区三区| 亚洲AV一区二区三区四区| 日韩福利视频一区| 一区二区三区精品视频| 久久久久国产一区二区| 久久久国产精品一区二区18禁| 中文字幕在线一区二区在线| 亚洲欧美一区二区三区日产| 麻豆国产在线不卡一区二区 | 国产未成女一区二区三区 | 亚洲一区中文字幕在线观看|