本文實例講述了nodejs實現(xiàn)的連接MySQL數(shù)據(jù)庫功能。分享給大家供大家參考,具體如下:
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;
希望本文所述對大家nodejs程序設(shè)計有所幫助。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com