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

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

本文实例讲述了Node.js使用MySQL连接池的方法。分享给大家供大家参考,具体如下:

Nodejs如何使用MySQL

Nodejs要连接MySQL,可以使用Nodejs的MysQL驱动来实现。比如,我们这里使用”node-mysql”连接数据库。我们使用下面的方式来连接数据库:

首先,我们需要使用nodejs的包管理工具(npm)安装mysql的驱动。命令行如下:


npm install musql

现在,要在js文件中使用mysql,添加下面的代码到你的文件中:


var mysql = require('mysql');

接下来,我们就可以使用这个模块来连接MySQL数据库。当然要连接数据库需要指定MySQL Server的host name,用户名和密码等。还有其他的很多选项可以设置,比如数据库的时区、socketPath、和本地地址等。


var connection = mysql.createConnection({
host : "hostName",
user : "username",
password: "password"
});

那么,下面的代码会为你建立一个新的连接。


connection.connect();

使用这个连接对象,我们可以像下面一样查询数据库。我们可以使用

connection.escape()
方法防止sql注入。


connection.query("use database1");
var strQuery = "select * from table1";
connection.query( strQuery, function(err, rows){
if(err) {
throw err;
}else{
console.log( rows );
}
});

最后,我们可以用两种方法关闭连接。用

connection.end
或者
connection.destroy

下面的表达式会确保所有队列中的查询在数据库连接关闭前都会被执行。请注意,这里有一个回调函数。


connection.end(function(err){
// Do something after the connection is gracefully terminated.
});

下面的表达式会立即关闭数据库连接。并且没有回调函数或者触发任何事件。


connection.destroy( );

Nodejs使用MysQL的连接池

使用连接池可以帮助我们更好的管理数据库连接。数据库连接池可以限制连接的最大数量,复用已有的连接等。

首先,我们需要创建一个连接池:


var mysql = require('mysql');
var pool = mysql.createPool({
host : "hostName",
user : "username",
password: "password"
});

其次,我们可以从创建的连接池中获取到一个我们需要的连接: