nodejs mysql 连接池初始化_nodejs之mysql连接池
參考:http://www.oschina.net/code/snippet_95289_25000 ? ? ?github地址:?https://github.com/obullxl/osnode-site
1、配置config.json
{
"dbhost": "localhost",
"port": 3306,
"user": "root",
"password": "root",
"db": "nodejs",
"maxConnLimit": 60
}2、db.js
/**
* 數據庫模塊
*/
var config = require("../config");
var options = {
'host': config.dbhost,
'port': config.port,
'user': config.user,
'password': config.password,
'database': config.db,
//'charset': config.charset,
'connectionLimit': config.maxConnLimit,
'supportBigNumbers': true,
'bigNumberStrings': true
};
var mysql = require('mysql');
var pool = mysql.createPool(options);
/**
* 釋放數據庫連接
*/
exports.release = function(connection) {
connection.end(function(error) {
console.log('Connection closed');
});
};
/**
* 執行查詢
*/
exports.execQuery = function(options) {
pool.getConnection(function(error, connection) {
if(error) {
console.log('DB-獲取數據庫連接異常!');
throw error;
}
/*
* connection.query('USE ' + config.db, function(error, results) { if(error) { console.log('DB-選擇數據庫異常!'); connection.end(); throw error; } });
*/
// 查詢參數
var sql = options['sql'];
var args = options['args'];
var handler = options['handler'];
// 執行查詢
if(!args) {
var query = connection.query(sql, function(error, results) {
if(error) {
console.log('DB-執行查詢語句異常!');
throw error;
}
// 處理結果
handler(results);
});
console.log(query.sql);
} else {
var query = connection.query(sql, args, function(error, results) {
if(error) {
console.log('DB-執行查詢語句異常!');
throw error;
}
// 處理結果
handler(results);
});
console.log(query.sql);
}
// 返回連接池
connection.release(function(error) {
if(error) {
console.log('DB-關閉數據庫連接異常!');
throw error;
}
});
});
};3、測試:
var db = require("./db");
var options = {
'sql':'SELECT * FROM test',
'handler':function(results) {
var data = '';
for (var i=0; i
總結
以上是生活随笔為你收集整理的nodejs mysql 连接池初始化_nodejs之mysql连接池的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql动态配置数据源_Spring整
- 下一篇: 绝地求生手游外服下载(《绝地求生》将于)