本文實(shí)例講述了nodejs實(shí)現(xiàn)的連接MySQL數(shù)據(jù)庫(kù)功能。分享給大家供大家參考,具體如下:
1、在工程目錄下運(yùn)行npm install mysql
安裝用于nodejs的mysql模塊;
2、創(chuàng)建db.js模塊用于連接mysql,同時(shí)定義query查詢(xún)方法;
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; // 如果用戶(hù)傳入了兩個(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ò)誤'); } // 如果用戶(hù)傳入了三個(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、查詢(xún)示例
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;
希望本文所述對(duì)大家nodejs程序設(shè)計(jì)有所幫助。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com