nodejs之mysql连接池
2015-07-01 15:24
489 查看
参考:http://www.oschina.net/code/snippet_95289_25000 github地址: https://github.com/obullxl/osnode-site
1、配置config.json
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<results.length; i++) { var firstResult = results[i]; data += 'id: ' + firstResult['id']+'text: ' + firstResult['text']; } console.log(data); } } db.execQuery(options);
相关文章推荐
- mysql 视图示例
- mysql 用户管理 权限控制
- 20150701 mysql 定时任务
- mysql数据库新建账号开启远程权限
- MYSQL 添加普通索引的2种方式
- MySql常用命令记录
- C# MySQL数据库的备份 还原 初始化
- mysql锁和索引之间的关系
- MySQL Study之--MySQL集群之mysql 主从复制
- 3306端口被占用
- mysql锁-for update
- MySQL 自增列插入0值的方法
- 比较全面的MySQL优化参考(上篇)
- mysql delete 语句中使用别名 alias
- 比较全面的MySQL优化参考(下篇)
- Mysql复制表格
- mysql 索引过长1071-max key length is 767 byte
- mysql 存储过程需要DELIMITER
- perl DBI模块和DBD-mysql模块安装
- nodejs 操作mysql数据库(最新版本)