node如何多次使用connect.query
时间: 2023-09-29 21:11:02 浏览: 47
在Node.js中,使用mysql库来连接MySQL数据库,执行SQL查询可以使用connect.query方法。如果要多次使用connect.query,可以在每次查询之前都重新建立连接,或者使用连接池来管理连接。以下是两种方法的说明:
**方法一:每次查询前重新建立连接**
每次查询前都重新建立连接,可以保证连接的独立性,但是会增加连接的创建和关闭开销。示例代码:
```javascript
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'mydb'
});
connection.connect(function(err) {
if (err) throw err;
console.log('Connected!');
// 第一次查询
connection.query('SELECT * FROM customers', function (err, result, fields) {
if (err) throw err;
console.log(result);
});
// 第二次查询
connection.query('SELECT * FROM products', function (err, result, fields) {
if (err) throw err;
console.log(result);
});
connection.end(function(err) {
if (err) throw err;
console.log('Connection closed.');
});
});
```
**方法二:使用连接池**
连接池可以管理多个连接,避免了每次查询都重新创建和关闭连接的开销。示例代码:
```javascript
const mysql = require('mysql');
const pool = mysql.createPool({
connectionLimit : 10,
host : 'localhost',
user : 'root',
password : 'password',
database : 'mydb'
});
// 第一次查询
pool.query('SELECT * FROM customers', function (err, result, fields) {
if (err) throw err;
console.log(result);
});
// 第二次查询
pool.query('SELECT * FROM products', function (err, result, fields) {
if (err) throw err;
console.log(result);
});
pool.end(function(err) {
if (err) throw err;
console.log('All connections in the pool have ended');
});
```
以上两种方法都可以实现多次使用connect.query方法,具体使用哪种方法取决于实际情况和个人喜好。