
使用nodejs如何連接MySQL數(shù)據(jù)庫?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

1、在工程目錄下運行npm install mysql安裝用于nodejs的mysql模塊;
2、創(chuàng)建db.js模塊用于連接mysql,同時定義query查詢方法;
var mysql = require('mysql');
// 創(chuàng)建一個數(shù)據(jù)庫連接池
var pool = mysql.createPool({
connectionLimit: 50,
host: 'localhost',
user: 'admin',
password: '123456',
database: 'rp-test'
});
// SELECT * FROM users
// 讓我們的方法支持兩種模式
// 一種是只傳入SQL語句和回調(diào)函數(shù)
// 一種是傳入SQL語句、參數(shù)數(shù)據(jù)、回調(diào)函數(shù)
exports.query = function (sql, P, C) {
var params = [];
var callback;
// 如果用戶傳入了兩個參數(shù),就是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('對不起,參數(shù)個數(shù)不匹配或者參數(shù)類型錯誤');
}
// 如果用戶傳入了三個參數(shù),那么就是SQL和參數(shù)數(shù)組、回調(diào)函數(shù)
// 從池子里面拿一個可以使用的連接
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;看完上述內(nèi)容,你們掌握使用nodejs如何連接MySQL數(shù)據(jù)庫的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。