Node.js數據庫連接池操作通用工具(MySQL模塊)


出處:OSN開源站點數據庫通用工具類,OSN源代碼地址,https://github.com/obullxl/osnode-site,百度雲演示站點,http://obullxl.duapp.com
使用平台:Node.js
依賴的項目:OSN開源站點

/**
 * 數據庫模塊
*/
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;
}
});
});
};


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM