在使用Node.js连接池时,确保在完成数据库操作后关闭连接池是很重要的。下面是一个解决这个问题的示例代码:
const mysql = require('mysql');
// 创建连接池
const pool = mysql.createPool({
host: 'localhost',
user: 'your_user',
password: 'your_password',
database: 'your_database',
connectionLimit: 10 // 设置连接池大小
});
// 执行数据库查询
pool.getConnection((err, connection) => {
if (err) {
console.error('Error getting database connection: ', err);
return;
}
connection.query('SELECT * FROM your_table', (err, results) => {
// 处理查询结果
if (err) {
console.error('Error executing query: ', err);
} else {
console.log(results);
}
// 释放连接
connection.release();
});
});
// 关闭连接池
pool.end(err => {
if (err) {
console.error('Error closing database connection pool: ', err);
} else {
console.log('Database connection pool closed');
}
});
在上面的示例中,我们首先创建一个连接池,然后通过调用getConnection()
方法来获取一个数据库连接。在获取到连接后,我们执行数据库查询,并在查询完成后释放连接。最后,在程序结束时,我们通过调用end()
方法来关闭连接池。
这样可以确保在每次查询后都正确地释放连接,并在程序结束时关闭连接池,避免连接泄漏的问题。