文章目录
- 用户模块的增删改查
- 新增
- 创建user_info表
- 初始化路由模块
- 路由模块处理函数(添加)
- 测试
- 查询
- 路由模块处理函数(查询)
- 测试
- 编辑(根据id)
- 路由模块处理函数(编辑/更新)
- 测试
- 删除(根据id)
- 路由模块处理函数
- 测试
用户模块的增删改查
新增
创建user_info表
初始化路由模块
- 创建
/router/userinfo.js
路由模块,并初始化如下的代码结构:
// 导入express
const express = require('express')
// 创建路由对象
const router = express.Router()
// 这里直接要用路由处理函数模块 不懂的可以看前一篇博客
const userHandler = require('../router_handler/userinfo_handler')
// 新增
router.post('/add', userHandler.userAdd)
// 向外共享对象
module.exports = router
- 在
app.js
中导入并使用用户的路由模块:
// 导入并使用用户信息路由模块
const userinfoRouter = require('./router/userinfo')
app.use('/api/user', userinfoRouter)
路由模块处理函数(添加)
在 /router_handler/userinfo_handler.js
头部导入数据库操作模块, 完成userAdd
:
exports.userAdd = (req, res) => {
const fields = {}
if (req.body.name) fields.name = req.body.name
if (req.body.addr) fields.addr = req.body.addr
if (req.body.age) fields.age = req.body.age
if (req.body.birth) fields.birth = req.body.birth
if (req.body.sex) fields.sex = req.body.sex
const sql = `insert into user_info set ?`
db.query(sql, fields, (err, results) => {
if (err) return res.status(400).json(err)
if (results.affectedRows !== 1) return res.status(400).json('添加失败')
res.json(fields)
})
}
测试
查询
userinfo.js
// 查询全部数据
router.get('/allUsers', userHandler.userAll)
路由模块处理函数(查询)
userinfo_handler.js
exports.userAll = (req, res) => {
const sql = `select * from user_info order by id desc`
db.query(sql, (err, results) => {
if (err) return res.status(400).json(err)
if (results.length === 0) return res.status(200).json('查无数据')
res.json(results)
})
}
测试
编辑(根据id)
userinfo.js
// 编辑
router.post('/edit/:id', userHandler.userEdit)
路由模块处理函数(编辑/更新)
exports.userEdit = (req, res) => {
const fields = {}
if (req.body.name) fields.name = req.body.name
if (req.body.addr) fields.addr = req.body.addr
if (req.body.age) fields.age = req.body.age
if (req.body.birth) fields.birth = req.body.birth
if (req.body.sex) fields.sex = req.body.sex
const sql = `update user_info set ? where id = ?`
db.query(sql, [fields, req.params.id], (err, results) => {
console.log(req.params.id)
if (err) return res.status(400).json(err)
if (results.affectedRows !== 1) return res.status(400).json('编辑失败')
res.json(fields)
})
}
测试
删除(根据id)
userinfo.js
router.post('/delete/:id', userHandler.userDelete)
路由模块处理函数
exports.userDelete = (req, res) => {
const sql = 'delete from user_info where id = ?'
db.query(sql, req.params.id, (err, results) => {
if (err) return res.status(400).json(err)
if (results.affectedRows !== 1) return res.status(400).json('删除失败')
res.json('删除成功')
})
}