// 导入 express 模块const express =require('express')// 创建 express 的服务器实例const app =express()// 将 cors 注册为全局中间件
app.use(cors())//在 app.js 中,所有路由之前,声明一个全局中间件,为 res 对象挂载一个 res.cc() 函数 // 响应数据的中间件
app.use(function(req, res, next){// status = 0 为成功; status = 1 为失败; 默认将 status 的值设置为 1,方便处理失败的情况
res.cc=function(err, status =1){
res.send({// 状态
status,// 状态描述,判断 err 是 错误对象 还是 字符串message: err instanceofError? err.message : err,})}next()})// 导入并注册用户路由模块const userRouter =require('./router/user')
app.use('/api', userRouter)
app.listen(80,()=>{
console.log('sever running at http://127.0.0.1')})
创建db 数据库操作模块
// 导入 mysql 模块const mysql =require('mysql')// 创建数据库连接对象const db = mysql.createPool({host:'127.0.0.1',user:'root',password:'root',database:'assessmenttasks',})// 向外共享 db 数据库连接对象
module.exports = db
//导入数据库操作模块const db =require('../db/index')
exports.setSceneData=(req, res)=>{const sql = select * from scene
db.query(sql,{参数},(err,results)=>{if(err){return res.cc(err);}else{
res.send({status:0,message:"存储成功!",data:results
});}})}
2.使用Promise
首相将数据库暴露为Promise
// 导入 mysql 模块const mysql =require('mysql')// 创建数据库连接对象const db = mysql.createPool({host:'127.0.0.1',port:3306user:'root',password:'root',database:'assessmenttasks',})// 向外共享 db 数据库连接对象exportdefault db.promise()
使用
//导入数据库操作模块const db =require('../db/index')
exports asyncfunctionsetSceneData=(req, res)=>{const sql = select * from scene
//使用解构赋值const[rows]=await db.query(sql,{参数},(err,results)=>{if(err){return res.cc(err);}else{
res.send({status:0,message:"存储成功!",data:rows
});}})}