nodeを使用してmysqlを接続する
1954 ワード
依存ライブラリのインストール
データベース接続の作成
データベース接続プールの使用
接続時の例外の処理
参考資料:NodejsでMySQLに接続する
npm install mysql
データベース接続の作成
var mysql = require('mysql');
//
var mysqlConn = {
host:'127.0.0.1',
user:'user',
password:'password',
database:'nodejs',
port:'3306'
};
//
var conn = mysql.createConnection(mysqlConn);
conn.connect();
// sql
conn.query('select 1+1 as solution ',function(err,rows,fields){
if (err) {throw err;}
console.log('select result is '+ rows[0].so);
})
// ?
conn.end();
データベース接続プールの使用
var mysql = require('mysql');
var mysqlConn = {
host:'127.0.0.1',
user:'root',
password:'jt123456',
database:'nodejs',
port:'3306'
};
var pool = mysql.createPool(mysqlConn);
// connection
pool.getConnection(function(err,conn){
if (err) {
console.log('err when getConnection from pool:'+err);
}
conn.query('select 1+1 as solution',function(err,rows){
if (err) {
consloe.log('err when query sql :'+err);
}
console.log('solution is '+rows[0].solution);
// connection
conn.release();
});
});
接続時の例外の処理
var mysql = require('mysql');
var mysqlConn = {
host:'127.0.0.1',
user:'root',
password:'jt123456',
database:'nodejs',
port:'3306'
};
//
function handleError(){
var conn = mysql.createConnection(mysqlConn);
// 2
conn.connect(function(err){
if (err) {
console.log('err when connect with mysql server:'+err);
};
setTimeout(handleError,2000);
});
//
conn.on('error',function(err){
console.log('err:'+err);
//
if (err.code ==='PROTOCOL_CONNECTION_LOST') {
handleError();
}else{
throw err;
}
});
}
handleEror();
参考資料:NodejsでMySQLに接続する