ホームページ > ウェブフロントエンド > jsチュートリアル > Nodejs で MySQL に接続する (詳細なチュートリアル)

Nodejs で MySQL に接続する (詳細なチュートリアル)

亚连
リリース: 2018-06-09 14:40:02
オリジナル
2723 人が閲覧しました

この記事では主に、nodejs によって実装された MySQL データベースへの接続機能を紹介し、nodejs 接続と mysql データのクエリの関連操作手順と実装スキルをサンプルの形式で分析します。この記事では、MySQL データベース機能によって実装される接続について説明します。参考として皆さんと共有してください。詳細は次のとおりです:

1. プロジェクト ディレクトリで

を実行して、nodejs の mysql モジュールをインストールします。2. mysql に接続するための

db.jsnpm install mysql モジュールを作成します。クエリクエリ方法;

var mysql = require('mysql');
// 创建一个数据库连接池
var pool = mysql.createPool({
 connectionLimit: 50,
 host: 'localhost',
 user: 'admin',
 password: '123456',
 database: 'rp-test'
});
// SELECT * FROM users
// 让我们的方法支持两种模式
// 一种是只传入SQL语句和回调函数
// 一种是传入SQL语句、参数数据、回调函数
exports.query = function (sql, P, C) {
 var params = [];
 var callback;
 // 如果用户传入了两个参数,就是SQL和callback
 if (arguments.length == 2 && typeof arguments[1] == 'function') {
  callback = P;
 } else if (arguments.length == 3 && Array.isArray(arguments[1]) && typeof arguments[2] == 'function') {
  params = P;
  callback = C;
 } else {
  throw new Error('对不起,参数个数不匹配或者参数类型错误');
 }
 // 如果用户传入了三个参数,那么就是SQL和参数数组、回调函数
 // 从池子里面拿一个可以使用的连接
 pool.getConnection(function (err, connection) {
  // Use the connection
  connection.query(sql, params, function () {
   // 使用完毕之后,将该连接释放回连接池
   connection.release();
   callback.apply(null, arguments);
  });
 });
};
ログイン後にコピー

3. クエリの例

var express = require('express');
var db = require('./db');
var router = express.Router();
router.get('/',function(req, res, next){
  db.query("select * from app",function(err,result){
     //console.log(result);
    res.send(JSON.stringify (result));
  });
});
module.exports=router;
ログイン後にコピー
以上が皆さんの参考になれば幸いです。

関連記事:

pace.js と NProgress.js 読み込み進行状況プラグインの使用方法 (詳細なチュートリアル)

WeChat ミニ プログラムのアプリのライフ サイクルについて (詳細なチュートリアル)

NProgress についてjQuery での .js 読み込み進行プラグインの使用方法

以上がNodejs で MySQL に接続する (詳細なチュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート