Node.js 连接池

本文介绍了Node.js中的连接池技术,用于管理和复用数据库连接,提高应用程序效率。内容包括如何创建连接池,使用Express框架设置跨域访问,以及在数据库操作中应用连接池的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

连接池解释:连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。

  1. 定义一个pool存放池

var pool = mysql.createPool({

})

     2.把数据库执行命令放在里面就行 

pool.getConnection((err, connection) => {

}); 

Node.js :

  1.  引进express框架
  2. 设置跨域访问请求
  3. 写端口号和监听端口
  4. 连接数据库,并且定义pool连接池存放数据
  5. 把数据库执行命令(增删查改)放在 pool.getConnection((err, connection) => { ...});里面就行 

 增加:

 

查找: 

 

前端: 

跟上一篇文章一样运行即可,操作一样~

完整代码 :

//1.固定的,引进express框架
const express = require('express')
const app = express()

//2.设置跨域访问请求
app.all('*', function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By", ' 3.2.1')
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
});

//3.端口号
const port = 3000
//3.1 监听端口
app.listen(port, () => {
    console.log(`Example app listening at http://localhost:${port}`)
})


//4.连接数据库
var mysql = require('mysql');
var pool = mysql.createPool({
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'chat'
});

//5.根据参数添加数据到数据库
//把数据库执行命令放在pool.getConnection((err, connection) => {
//    ...
// }); 就行 
app.get('/insert/:id/:userid/:content/:sayTime',(req,res)=>{
  pool.getConnection((err,connection) => {//连接池
      var addSql = 'INSERT INTO `chat`(`id`,`userid`,`content`,`sayTime`) VALUES(?,?,?,?)';
      var addSqlParams = [req.params.id,req.params.userid,req.params.content,req.params.sayTime];
      //增
      connection.query(addSql, addSqlParams, function (err, result) {
          if (err) {
              console.log('[INSERT ERROR] - ', err.message);
              return;
          }
          console.log(result)
          res.send("添加数据成功!!");//添加成功后,输出这条数据在页面!
          //释放连接
          connection.release();
      });
  });
});


//5.1 根据id查询数据库里面的数据
app.get("/list/:id",(req,res)=>{
    pool.getConnection((err,connection) =>{
        let searchSql = 'SELECT * from `chat` WHERE `id` = ? '
        let searchParams = [req.params.id]
        connection.query(searchSql,searchParams,(err,result) =>{
            res.send(result)
            connection.release()
        })
    });
});

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值