Nodejs:连接池连接mysql

OptPool.js

var mysql = require("mysql");//调用mysql模块

function OptPool() {
    this.flag = true;//是否连接过
    this.pool = mysql.createPool({
        host: 'localhost',
        user: 'root',
        password: 'root',
        database: 'test',
        port: '3306'
    });

    this.getPool = function () {
        if (this.flag) {
            //监听connection事件
            this.pool.on('connection', function (connection) {
                connection.query("SET SESSION auto_increment_increment=1");
                this.flag = false;
            });
        }
        return this.pool;
    }

};
module.exports = OptPool;

demo.js

/**
 * 安装mysql支持====>npm install mysql
 * 安装node.js的mysqlpool模块====> npm install -g node-mysql
 */

//连接池

var OptPool = require('./model/OptPool');

var optPool = new OptPool();

var pool = optPool.getPool();

//从连接池中获取一个连接
pool.getConnection(function (err, conn) {

    //插入
    var sql = "INSERT INTO `test`.`user` (`username`, `pwd`) VALUES (?,?);";
    var param = ['jack', '123'];

    // conn.query(sql, param, function (err, rs) {
    //     if (err) {
    //         console.log("insert err:", err.message);
    //         return;
    //     }
    //     console.log('insert success');
    //     conn.release();
    // });

    //查询
    $sql = "select * from user;";
    conn.query($sql, function (err, rs) {
        if (err) {
            console.log("query---" + err);
            return;
        }
        for (var i = 0; i < rs.length; i++) {
            console.log(rs[i].username);
        }
        conn.release();//释放连接池
    })

});

猜你喜欢

转载自blog.csdn.net/u013101178/article/details/84844646