出處: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; } }); }); };