nodejs mysqlのパッケージ総務

mysql.js

   

CONSTのMySQL =( "mysql2")を必要とします。
クラスMysqlModel {
   コンストラクタ(){
   this.mysqlConfig = config.mysql。
}

/ **
* MySQLの例
* /
mysqlInstance(){
   CONST poolCluster = mysql.createPoolCluster({
       removeNodeErrorCount:1、//接続が失敗したときに、すぐにノードを削除します。
       defaultSelector: "RR" // RR、RANDOM、ORDER
});
constのmysqlNodes = this.mysqlConfig。
{(mysqlNodesでノードを聞かせて)ため
      poolCluster.add( `$ {ノード}`、mysqlNodes [ `$ {ノード}`])。
}
 )、新しい約束((決意を返す拒否=> {
      poolCluster.getConnection(関数(ERR、接続){
      IF(ERR){
        (ERR)を拒絶します。
      } そうしないと {
         [(解決
           接続、
           poolCluster
        ]);
      }
   })
 })
}

/ **
* MySQLのデータベース接続を取得します。
* /
  非同期のgetConnection(){
   this.mysqlInstanceのawaitリターン();
   }
}

非同期関数mysqlDBUtil(){
{試します
  constのデシベル=新しいMysqlModel();
  CONST [CONN、プール] =のawait db.getConnection()。
  ログ(46「mysqlの接続成功」)
/ **
トランザクション・ロールバック
* /
CONSTロールバック=非同期関数(){
conn.rollback();
ログ(「mysqlのトランザクションがロールバックされた......ロールバック」)
}

/ **
*データベースの操作
SQL * @param {}
* @param {*}オプション
* /
CONSTクエリ=関数(SQL、オプション){
)、新しい約束((決意を返す拒否=> {
conn.query(SQL、オプション、関数(誤差、結果、フィールド){
もし(エラー){
(エラー)リジェクト。
} そうしないと {
解決(結果);
}
})
})
}

/ **
*トランザクションをコミット
* /
CONST {()=関数をコミット
)、新しい約束((決意を返す拒否=> {
conn.commit(関数(ERR){
IF(ERR){
(ERR)を拒絶します。
}
ログ(「MySQLのトランザクションのコミット......コミット」)
});
})
}
/ **
彼は解放しないであろうこと*閉じる接続プール、mysql2パッケージ
* /
CONST近い=非同期関数(){
pool.end();
ログ(「mysqlの接続プールが近い.....閉じ」);
}
リターン{
ロールバック、
コミット、
閉じる、
質問
}
}キャッチ(エラー){
新しいError(エラー)を投げます。
}
}
module.exportsは= mysqlDBUtil。
//コール
 
CONST DB =のawait mysqlUtil()。
{試します
 ユーザからのconst SQL = `SELECT *`;
 CONST結果=のawait db.query(SQL)。
 結果を返します。
}キャッチ(エラー){
 await db.rollback()。
}最後に{
 awit db.close()。
}
 

おすすめ

転載: www.cnblogs.com/qiyc/p/12148009.html
おすすめ