Node.js使用MySQL连接池的方法实例

2020-06-17 06:34:15易采站长站整理


pool.getConnection(function(err, connection){
});

使用回调函数的参数connection来查询数据库。最后使用

connection.realease()
方法释放数据库连接。


pool.getConnection(function(err, connection){
connection.query( "select * from table1", function(err, rows){
if(err) {
throw err;
}else{
console.log( rows );
}
});
connection.release();
});

执行多条查询语句

为了安全起见,默认情况下是不允许执行多条查询语句的。要使用多条查询语句的功能,就需要在创建数据库连接的时候打开这一功能:


var connection = mysql.createConnection( { multipleStatements: true } );

这一功能打开以后,你就可以像下面的例子一样同时使用多条查询语句:


connection.query('select column1; select column2; select column3;', function(err, result){
if(err){
throw err;
}else{
console.log(result[0]); // Column1 as a result
console.log(result[1]); // Column2 as a result
console.log(result[2]); // Column3 as a result
}
});

node.js中mysql连接池的使用

如果不想程序在查询数据时卡死或等待过长时间,一般不推荐在node中开启一个连接后全部查询都用这个链接并且不关闭,因为,你试了就知道为什么了

Node.js mysql连接池模块

1. 安装node的mysql模块


npm -install -g node-mysql

2. 建立一个类库,就叫mysql.js吧,然后内容如下:


var mysql=require("mysql");
var pool = mysql.createPool({
host: 'localhost',
user: 'user',
password: 'password',
database: 'database',
port: port
});
var query=function(sql,callback){
pool.getConnection(function(err,conn){
if(err){
callback(err,null,null);
}else{
conn.query(sql,function(qerr,vals,fields){
//释放连接
conn.release();
//事件驱动回调
callback(qerr,vals,fields);
});
}
});
};
module.exports=query;

3. 在js类使用如下


var query=require("./lib/mysql.js");
query("select 1 from 1",function(err,vals,fields){
//do something
});

希望本文所述对大家nodejs程序设计有所帮助。