Node.js 中调用mysql并进行简单封装

首先是配置好环境

npm install mysql

然后在db文件夹下新建js文件

// js
// 1. 导入 mysql 模块
const mysql = require('mysql')
// 2. 建立与 MySQL 数据库的连接关系
const db = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: '123456',
  port: 3306,
  database: 'blog_mysql'
})

module.exports = db

注意node mysql如果没有特别设置连接的时候会报错
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
所以先在cmd中进行如下操作

mysql -u root -p
// 这里输自己的数据库名
use blog_mysql;
// 注意结尾的分号不要忘了
ALTER user'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你数据库的密码';

然后就完成了

接着对mysql的query语句用promise封装,防止回调地狱

// 1. 导入 mysql 模块
const mysql = require('mysql')
// 2. 建立与 MySQL 数据库的连接关系
const db = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: '123456',
  port: 3306,
  database: 'blog_mysql'
})

function query(sql, params) {
  return new Promise((resolve, reject) => {
    db.query(sql, params, (err, rows) => {
      resolve({err, rows})
    })
  })
}
module.exports = query

接着就可以在路由中用async和await接收结果了

router.get('/test',async (req, res) => {
  const sql = 'select * from admin'
  const result = await query(sql,[])
  res.send({
    result
  })
})
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值