婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MongoDB操作類封裝實例代碼

MongoDB操作類封裝實例代碼

熱門標簽:crm外呼系統聯系方式 長沙電銷外呼防封卡是什么 內蒙古營銷智能外呼系統哪個好 呼和浩特外呼系統原理是什么 河南電話外呼系統招商 小裙科技電銷機器人怎樣 智能外呼系統官網 外呼線路資源屬于電信業務嗎 青白江400企業電話申請

前言

最近接到一個需求,要做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 ListServerAddress> 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 ListMongoCredential> 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(ListServerAddress> addresses, ListMongoCredential> 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 MongoCollectionDocument> 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 MongoCollectionDocument> getCollection(MongoObject mongoObject, String collectionName) {
  return getMongoClient(mongoObject).getDatabase(mongoObject.database).getCollection(collectionName);
 }
 
 /**
  * 獲取collection對象
  *
  * @param mongoObject
  * @return
  */
 public static MongoCollectionDocument> getCollectionOnline(MongoObject mongoObject, String collectionName) {
  return getMongoClientOnline(mongoObject).getDatabase(mongoObject.database).getCollection(collectionName);
 }
 
}

mongoobject的代碼如下:

package com.fun.mongodb;
 
 
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
 
/**
 * mongo數據庫配置對象,針對單個數據服務,單個身份驗證
 */
public class MongoObject extends MongoBase {
 
  String host;
 
  int port;
 
  String user;
 
  String password;
 
  String database;
 
  MongoClient mongoClient;
 
  /**
   * 創建數據連接
   *
   * @param host
   * @param port
   * @param user
   * @param password
   * @param database
   */
  public MongoObject(String host, int port, String user, String password, String database) {
    this.host = host;
    this.port = port;
    this.user = user;
    this.password = password;
    this.database = database;
    this.mongoClient = getMongoClient(this);
  }
 
  /**
   * 創建數據庫連接
   *
   * @param port
   * @param host
   * @param user
   * @param password
   * @param database
   */
  public MongoObject(int port, String host, String user, String password, String database) {
    this.host = host;
    this.port = port;
    this.user = user;
    this.password = password;
    this.database = database;
    this.mongoClient = getMongoClientOnline(this);
  }
 
  /**
   * 獲取colletion對象
   *
   * @param collectionName
   * @return
   */
  public MongoCollectionDocument> getMongoCollection(String collectionName) {
    MongoClient mongoClientOnline = getMongoClientOnline(this);
    return mongoClientOnline.getDatabase(database).getCollection(collectionName);
  }
 
 
  /**
   * 關閉連接
   */
  public void over() {
    MongoOver(this.mongoClient);
  }
}
 @Override
  public MongoObject clone() {
    return new MongoObject(this.host, this.port, this.user, this.password, this.database);
  }

  public MongoObject clone2() {
    return new MongoObject(this.port, this.host, this.user, this.password, this.database);
  }

具體效果非常不錯,測試代碼如下:

 public static void main(String[] args) {
    MongoObject ready = new MongoObject("*****", 5117, "fission_record", "fission_record", "fission_record");
    MongoCollectionDocument> app = ready.getMongoCollection("app_logs_20181109");
    Document first = app.find().first();
    output(first);
    ready.over();
  }

打印內容如下:

Document{{_id=5be4ce052ce01b21b6c26a64, _class=com.fission.next.record.bean.AppRecordBean, user_id=5482, action_type={"gameId":2,"userId":"5482"}, action_extern=DataSta_Game_Starts, client_version=15, client_ip=114.5.146.239, client_imei=UNKNOWN, client_dev=xiaomi-Redmi 5 Plus, client_type=200, server_time=1541721601655, os_name=200, os_version=15, client_time=1541721577025}}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • php封裝的mongodb操作類代碼
  • PHP實現的MongoDB數據庫操作類分享
  • php實現的mongodb操作類
  • PHP實現的mongoDB數據庫操作類完整實例
  • php實現的mongodb操作類實例
  • php實現的mongoDB單例模式操作類
  • php mongodb操作類 帶幾個簡單的例子
  • PHP mongodb操作類定義與用法示例【適合mongodb2.x和mongodb3.x】

標簽:菏澤 安順 楚雄 池州 呼倫貝爾 白山 黃石 舟山

巨人網絡通訊聲明:本文標題《MongoDB操作類封裝實例代碼》,本文關鍵詞  MongoDB,操作,類,封裝,實例,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MongoDB操作類封裝實例代碼》相關的同類信息!
  • 本頁收集關于MongoDB操作類封裝實例代碼的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久久久久综合| av电影天堂一区二区在线| 欧美一区二区性放荡片| 国产成人精品三级麻豆| 亚洲综合色噜噜狠狠| 精品电影一区二区三区 | 久久蜜臀精品av| 欧美午夜影院一区| av电影在线不卡| 国产精品自拍一区| 久久精品理论片| 日韩va亚洲va欧美va久久| 亚洲在线视频一区| 亚洲欧美日韩系列| 亚洲精品国产无套在线观| 亚洲四区在线观看| 亚洲三级免费电影| 亚洲激情第一区| 一区二区三区四区视频精品免费 | 亚洲日韩欧美一区二区在线| 中文字幕精品三区| 国产午夜精品福利| 国产调教视频一区| 国产亚洲精品aa午夜观看| 精品电影一区二区| 久久精品视频一区二区三区| 久久精品视频免费| 综合久久国产九一剧情麻豆| 国产精品美女久久久久aⅴ | 精品在线免费观看| 国产精品一二三区| 成人精品亚洲人成在线| 99re热视频精品| 欧美亚洲高清一区| 欧美一卡二卡在线观看| 精品成人免费观看| 欧美国产欧美综合| 亚洲日本丝袜连裤袜办公室| 亚洲丶国产丶欧美一区二区三区| 丝袜美腿亚洲一区二区图片| 久久99精品国产.久久久久| 成人黄色小视频在线观看| 99久久er热在这里只有精品15 | 亚洲免费在线观看视频| 性做久久久久久免费观看| 午夜电影久久久| 精品久久一二三区| 亚洲婷婷综合色高清在线| 一区二区三区不卡视频| 石原莉奈在线亚洲二区| 经典三级一区二区| 国产麻豆成人精品| www.日韩大片| 欧美天堂亚洲电影院在线播放| 欧美精品国产精品| 欧美不卡激情三级在线观看| 欧美国产97人人爽人人喊| 亚洲成人综合在线| 国产成人免费在线观看不卡| 99vv1com这只有精品| 欧美一区二区大片| 亚洲欧美在线视频观看| 亚洲国产裸拍裸体视频在线观看乱了 | 一区二区欧美国产| 久久97超碰色| 91麻豆精品视频| 国产网站一区二区| 日韩精品福利网| 91亚洲男人天堂| 欧美精品一区二区三区在线播放| 国产精品视频看| 奇米影视一区二区三区| 99精品久久只有精品| wwwwxxxxx欧美| 亚洲电影中文字幕在线观看| 成人精品视频一区二区三区 | 久久婷婷一区二区三区| 亚洲一区二区三区四区在线免费观看| 国产福利一区二区| 91精品中文字幕一区二区三区| 中文字幕av资源一区| 日日夜夜精品视频免费| 粉嫩一区二区三区性色av| 91精品国产美女浴室洗澡无遮挡| 最新成人av在线| 成人免费毛片app| 久久久久成人黄色影片| 麻豆传媒一区二区三区| 欧美日韩国产片| 亚洲激情图片一区| 97久久超碰精品国产| 国产视频一区不卡| 韩国一区二区三区| 欧美亚洲自拍偷拍| 亚洲人成在线观看一区二区| 国产精品一区二区男女羞羞无遮挡| 欧美日韩亚洲综合| 午夜精品久久久久久久| 欧美日韩一区高清| 亚洲自拍偷拍av| 欧美日韩国产高清一区| 亚洲国产成人91porn| 久久精品国产99国产| 制服丝袜中文字幕一区| 亚洲r级在线视频| 欧美日韩美少妇| 亚洲444eee在线观看| 在线观看免费亚洲| 一区二区三区四区在线免费观看| 色激情天天射综合网| 亚洲欧美日韩中文字幕一区二区三区 | 色丁香久综合在线久综合在线观看| 亚洲天堂成人网| 欧美亚洲禁片免费| 日韩国产一二三区| 精品国产乱码久久久久久闺蜜 | 最新久久zyz资源站| 日本韩国欧美在线| 亚洲午夜精品网| 日韩欧美精品三级| 粉嫩av一区二区三区| 亚洲综合偷拍欧美一区色| 欧美日韩的一区二区| 九九视频精品免费| 一区在线观看视频| 51久久夜色精品国产麻豆| 日韩中文字幕麻豆| 亚洲精品一区二区精华| 不卡欧美aaaaa| 亚洲永久精品国产| 精品福利av导航| 欧美三级中文字| 国产一区视频导航| 亚洲第一久久影院| 久久久精品国产99久久精品芒果| 一本到高清视频免费精品| 亚洲一区二区欧美日韩| 欧美日韩国产天堂| 韩国女主播成人在线| 综合久久一区二区三区| 精品欧美乱码久久久久久1区2区| 成人美女视频在线看| 国产亚洲一区二区三区四区 | av不卡在线播放| 视频在线在亚洲| 国产精品三级久久久久三级| 欧美婷婷六月丁香综合色| 国产精品中文有码| 日本强好片久久久久久aaa| 中文字幕不卡在线观看| 日韩欧美卡一卡二| 欧美性受xxxx| 成人永久看片免费视频天堂| 亚洲国产成人av| 亚洲欧美另类综合偷拍| 久久久久久久综合狠狠综合| 欧美日韩一区成人| 日本韩国欧美一区二区三区| 国模娜娜一区二区三区| 日韩福利电影在线| 亚洲黄色片在线观看| 欧美国产精品一区二区| 久久精品视频一区二区三区| 欧美肥妇毛茸茸| 欧美三区在线观看| 成人av电影在线观看| 麻豆国产欧美日韩综合精品二区| 亚洲婷婷综合久久一本伊一区 | 欧美精品电影在线播放| 欧美色手机在线观看| 99视频精品全部免费在线| 国产一区二三区好的| 日韩av中文在线观看| 久久久精品国产免大香伊| 欧美精品一区二区精品网| 在线播放欧美女士性生活| 欧美亚洲动漫另类| 日本乱人伦aⅴ精品| 91久久国产最好的精华液| 不卡一区中文字幕| av在线播放一区二区三区| 国产精品亚洲第一| 久久99精品国产| 国产一区二区三区电影在线观看| 青青草国产精品亚洲专区无| 日本va欧美va瓶| 老司机精品视频一区二区三区| 日韩精品每日更新| 日韩精品一级二级 | 亚洲免费视频成人| 亚洲一区二区三区小说| 一区二区三区四区乱视频| 一级做a爱片久久| 亚洲一区二区四区蜜桃| 国产日韩精品视频一区| 欧美激情综合在线| 一区在线中文字幕| 亚洲一区二区三区精品在线| 丝袜美腿亚洲综合| 久久草av在线|