使用nodejs如何連接MySQL數(shù)據(jù)庫(kù)?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)主營(yíng)龍子湖網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶App定制開(kāi)發(fā),龍子湖h5成都微信小程序搭建,龍子湖網(wǎng)站營(yíng)銷(xiāo)推廣歡迎龍子湖等地區(qū)企業(yè)咨詢
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ù)庫(kù)連接池 var pool = mysql.createPool({ connectionLimit: 50, host: 'localhost', user: 'admin', password: '123456', database: 'rp-test' }); // SELECT * FROM users // 讓我們的方法支持兩種模式 // 一種是只傳入SQL語(yǔ)句和回調(diào)函數(shù) // 一種是傳入SQL語(yǔ)句、參數(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ù)類(lèi)型錯(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ù)庫(kù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!