express搭建项目(二)连接mysql

313 阅读1分钟

1安装mysql依赖

直接在vscode的cmd上输入npm install mysql --save

2在项目的目录下创建一个util文件夹,添加dbconfig.js文件

//导入mysql模块
const mysql = require('mysql')
module.exports = {
  // 数据库配置
  config: {
    host: 'localhost',//主机名
    port: '3306',//端口号
    user: 'root',//用户名
    password: '密码',//密码
    database: '数据库',//数据库名
  },
  // 连接池对象
  SqlConnect:function(sql, sqlArr,callBack){
    var pool = mysql.createPool(this.config)
    pool.getConnection((err,conn)=>{
      console.log("sqlConnect")
      if(err){
        console.log('连接失败111',err)
        return;
      }
      // 事件驱动回调
      conn.query(sql,sqlArr,callBack)
      // 释放连接
      conn.release()
    })
  },
}

3 sql处理

在项目下创建一个controllors文件夹,里面加一个CateControllors.js文件,用于存放和数据库直接相关的处理,类似于dao层

image.png

// 导入dbconfig模块
var dbConfigif = require('../util/dbconfig')

// 获取分类
getCate=async (req,res)=>{
  var sql = 'select * from cate'
  var sqlArr = []
  var callBack= (err,data)=>{
    if(err){
      console.log("连接出错2",err)
    }else{
      res.send({
        'list': data
      })
    }
  }
  dbConfigif.SySqlConnect(sql,sqlArr,callBack)
}

4在routes下面的index.js文件中导入CateControllers.js,添加getCate路由

var {getCate} = require("../controllers/CateControllers")
router.get('/', getCate);

5在项目根目录的app.js文件下添加如下代码

   app.use(express.json());
   app.use(express.urlencoded({extended: false}))
   app.use('/', indexRouter);//添加路由目录

app.use是express“调用中间件的方法”。 所谓“中间件(middleware),就是处理HTTP请求的函数,用来完成各种特定的任务, 比如检查用户是否登录、分析数据、以及其他在需要最终将数据发送给用户之前完成的任务。

第3行代码(53条消息) 创建body中间件时,express.urlencoded 中设置 extended 为 true 和 false 有什么区别吗?_小张快跑。的博客-CSDN博客

6测试接口

结果如下图,接口建立成功 image.png