项目结构如下
初始化
npm init -y //初始化项目
//安装express mysql2 指定了版本
npm i express@4.17.1 mysql2@2.2.5
db/index.js代码如下
import mysql from 'mysql2'
//数据库配置项 按自己的设置配置
const pool = mysql.createPool({
host: '127.0.0.1',
port: 3306,
database: '数据库名',
user: '数据库用户名',
password: '密码',
})
export default pool.promise()
controller/user_ctrl.js代码如下
import db from '../db/index.js'
// 使用 ES6 的按需导出语法,将 getAllUser 方法导出出去
export async function getAllUser(req, res) {
//此部分是查询语句 sql
//sql语句都可以写在这里
try {
const [rows] = await db.query('select * from user')
//正常情况响应请求相应的数据
res.send({
status: 0,
message: '获取用户列表数据成功!',
data: rows,
})
} catch (err) {
//非正常情况响应请求相应的数据
res.send({
status: 1,
message: '获取用户列表数据失败!',
desc: err.message,
})
}
}
router/user_router.js代码部分
//导入express模块
import express from 'express'
//按需导入
import { getAllUser } from '../controller/user_ctrl.js'
const router = new express.Router()
router.get('/user', getAllUser)
export default router
app.js代码如下
//全局导入express
import express from 'express'
import userRouter from './router/user_router.js'
const app = express()
//第一个参数是前缀
app.use('/api', userRouter)
app.listen(80, () => {
console.log('server running at http://127.0.0.1')
})