您好,登錄后才能下訂單哦!
使用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è)資訊頻道,感謝各位的閱讀!
免責(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)容。