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层
// 导入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测试接口
结果如下图,接口建立成功