溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用nodejs如何連接MySQL數(shù)據(jù)庫

發(fā)布時(shí)間:2021-04-12 16:11:31 來源:億速云 閱讀:248 作者:Leah 欄目:web開發(fā)

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

1、在工程目錄下運(yùn)行npm install mysql安裝用于nodejs的mysql模塊;

2、創(chuàng)建db.js模塊用于連接mysql,同時(shí)定義query查詢方法;

var mysql = require('mysql');
// 創(chuàng)建一個(gè)數(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;
 // 如果用戶傳入了兩個(gè)參數(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('對(duì)不起,參數(shù)個(gè)數(shù)不匹配或者參數(shù)類型錯(cuò)誤');
 }
 // 如果用戶傳入了三個(gè)參數(shù),那么就是SQL和參數(shù)數(shù)組、回調(diào)函數(shù)
 // 從池子里面拿一個(gè)可以使用的連接
 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ù)庫的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI