NodeJs访问MySQL老是报Pool Close问题。

本文讲述了在Node.js中遇到的MySQL Pool Close问题。为了解决这个问题,作者实现了队列来管理数据库请求,确保每个请求按顺序执行,避免了因异步操作导致的pool close错误。通过这种方式,简化了接口配置管理,使得只需在管理界面配置规则,而无需频繁重启服务器。
摘要由CSDN通过智能技术生成

最近在写一个接口配置管理的一个东西。

比如前端要一个用户登录接口,是post请求,之前写的话,就是规规矩矩的在后台写代码,

通过路由什么怎么的跳转到相应的方法那里,然后获取到传过来的参数,拿到参数后,再调用数据库查询,判断用户存在与否

最后返回结果给前端。

我现在写的这个东西,将以前的这些步骤全都以抽里出一条或几天规则,然后按照事先定义好的顺序,由上而下依次执行,最后返回结果给调用者。

以后我只配置规则,不用开发接口,少接口只要在管理页面里添加一条就OK了,想改参数什么的,也只在管理界面修改即可完成,这样也不用重启服务器。

之前在NodeJs在调用MySQL的时候,由于我写的那个DBHelper类里创建连接,以是Pool的时候创建的,代码如下

   this.pool = mysql.createPool({
      connectionLimit: 5,
      host: 'localhost', // 数据库连接
      user: 'liaohb',    // 数据库名用户名
      password: 'xiaotuni', 
以下是使用Node.js操作MySQL数据库的示例代码: 1.安装mysql模块 ```shell npm install mysql ``` 2.连接MySQL数据库 ```javascript const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); }); ``` 3.创建数据库 ```javascript const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); connection.query('CREATE DATABASE test', (err, result) => { if (err) throw err; console.log('Database created!'); }); }); ``` 4.创建表 ```javascript const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = 'CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))'; connection.query(sql, (err, result) => { if (err) throw err; console.log('Table created!'); }); }); ``` 5.插入数据 ```javascript const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = 'INSERT INTO customers (name, address) VALUES ("Company Inc", "Highway 37")'; connection.query(sql, (err, result) => { if (err) throw err; console.log('1 record inserted'); }); }); ``` 6.查询数据 ```javascript const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = 'SELECT * FROM customers'; connection.query(sql, (err, result) => { if (err) throw err; console.log(result); }); }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值