zoukankan      html  css  js  c++  java
  • 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;
    }
    });
    });
    };
    
  • 相关阅读:
    跳出iframe
    leetcode 225. Implement Stack using Queues
    leetcode 206. Reverse Linked List
    leetcode 205. Isomorphic Strings
    leetcode 203. Remove Linked List Elements
    leetcode 198. House Robber
    leetcode 190. Reverse Bits
    leetcode leetcode 783. Minimum Distance Between BST Nodes
    leetcode 202. Happy Number
    leetcode 389. Find the Difference
  • 原文地址:https://www.cnblogs.com/zhwl/p/4443322.html
Copyright © 2011-2022 走看看