레이블이 connectionPool인 게시물을 표시합니다. 모든 게시물 표시
레이블이 connectionPool인 게시물을 표시합니다. 모든 게시물 표시

connect to mysql on nodejs

connect to mysql on nodejs

준비사항 : 

nodejs에서 mysql모듈을 설치하기 위해서는 NPM이 우선 설치 되어 있어야 한다.
nodejs를 설치하면 NPM이 자동으로 설치되어 있다.

1. mysql 모듈 설치. 

> npm install mysql --save

2. mysql 기본 연동하기. 

var mysql = require('mysql');
var connection = mysql.createConnection( {
    host        : 'localhost',
    user        : '<username>',
    passwrod : '<password>',
    database : '<database name'
});
connection.connect();
connection.query('SELECT * FROM TEST_TABLE', function( err, rows, fields ) {
    if (err) {
        console.log('Error occur...');
    }
    else {
        console.log('The result is : ', rows);
    }
});
connection.end();

3. connection pool 이용하기. 

var express      = require('express');
var mysql         = require('mysql');
var app            = express();
var pool = mysql.createPool({
    connectionLimit : 100,
    host : 'localhost',
    user : 'root',
    password : 'password',
    database : 'testdb',
    debug : false
});
function processQuery(req, res) {
    pool.getConnection(function(err, connection) {
        if (err) {
            connection.release();
            res.json({"code" : 500, "status" : "connection error"});
            return;
        }
        console.log('connection success id : ' + connection.threadId);
        connection.query('SELECT * FROM TEST', function(err, rows) {
            connection.release();
            if (err) console.log('query error');
            else {
                res.json(rows);
            }
        });
        connection.on('error', function(err) {
            res.json({"code" : 500, "status" : "error connection"});
            return;
        });
    });
}
app.get("/getAll", function(req, res) {
    processQuery(req, res);
});
app.listen(8081);