nodeを使用してmysqlを接続する

1954 ワード

依存ライブラリのインストール
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に接続する