数据库连接池是程序在启动时创建足够多的数据库连接,将这些连接放入一个池子里。由程序动态地进行申请,使用和关闭。
频繁的创建和关闭连接是非常消耗资源的。
作用:负责分配,管理和释放数据库连接。允许程序重复使用现有的同一个数据库连接,而不是重现创建一个,避免了资源的消耗。
cnpm i mysql -S //下载安装
在node js文件中引入mysql模块。
const mysql = require("mysql")
const pool = mysql.createPool({
host:"localhost", //主机
port:3306, //端口号
user:"root", //用户名
password:"123456", //密码
database:"book", //数据库
connectionLimit:20,//用于指定数据库连接池中最大的连接数 默认是10个
queueLimit:2 //用于指定挂起的最大连接数。如果挂起的连接数量超过这个设定值,就会超出错误。默认是0。
})
//需要一个回调函数 表示getConnection执行完成后的操作
pool.getConnection(function(err,conn){
//err 表示错误信息。 没有错误的时候是一个空值。
//conn 我们从连接池中取出的连接对象。可以通过这个对象,去访问数据库。
})
pool.getConnection(function(err,conn){
if (err) {
console.log("mysql数据库连接失败!失败原因:"+err);
return;
}
console.log("数据库连接成功!");
//书写一个sql
let sql = "select * from book";
conn.query(sql,(err,result)=>{
//将连接归还连接池。
conn.release();
if (err) {
console.log("查询失败,失败原因:"+err);
return;
}
console.log(result);
})
})