nodejs操作数据库响应请求学习随笔记录

84 阅读1分钟

项目结构如下

image.png

初始化

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')
})


apiPost测试如下

image.png