node

NodeJS+Express+MySQL,搭建接口服务

2018-10-31  本文已影响34人  流浪的三鮮餡

写在前面

此接口服务的搭建采用的技术栈包括NodeJS、Express框架、MySQL及各种相关中间件等。这次完成的是较为基础的对MySQL数据库增删改查操作,有兴趣深入了解的读者可以详细阅读一下《Building APIs with Node.js》这本书。

技术栈

开始接口服务的搭建工作。进入正题之前,\color{Crimson}{请注意:} \color{Hotpink}{先安装依赖}\color{LightGreen}{先安装依赖}\color{Khaki}{先安装依赖},重要的事情说三遍。

后台搭建

const express = require('express')
const app = express()
// CORS模块,处理web端跨域问题
const cors = require('cors')
app.use(cors())

//body-parser 解析表单
const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended:false}))
app.use(bodyParser.json())

//使用mysql中间件连接MySQL数据库
const mysql = require('mysql')
const connection = mysql.createConnection({
    host:'localhost',           //数据库地址
    user: 'root',               //用户名
    password: 'root',           //密码
    port : '3306',              //端口
    database: 'test',           //库名
    multipleStatements:true     //允许执行多条语句
})

查询表数据

// 查询
app.get('/api/user',(req,res,next) => {
    const sql ='SELECT * FROM user' //user为表名
    connection.query(sql,(err,results) =>{
        if(err){
            return res.json({
                code: 1,
                message: '用户不存在',
                affextedRows: 0
            })
        }
        res.json ({
            code : 200,
            message: results,
            affextedRows:results.affextedRows
        })
    })
})

条件查询表数据

// 条件查询
app.get('/api/body',(req,res) => {
    const id = req.query.id
    const sql = 'SELECT * FROM user where id=?'
    connection.query(sql,id,(err,results) => {
        if (err) {
            return res.json({
                code: 1,
                message: '无此用户',
                affextedRows: 0
            })
        }
        res.json ({
            code: 200,
            message: results,
            affextedRows:results.affextedRows
        })
    })
})

增加表数据

//增加
app.post('/api/adduser', (req,res) => {
    const user = req.body
    const addSql = 'INSERT INTO user SET ?'
    connection.query(addSql,user,(err,results) => {
        if (err) {
            return res.json({
                code: 1,
                message: '添加失败',
                affextedRows: 0
            })
        }
        res.json ({
            code: 200,
            message: '添加成功',
            affextedRows:results.affextedRows
        })
    })
})

更新表数据

/修改
app.post('/api/updateuser',(req,res) => {
    const user = []
    user[0] = req.body.userName
    user[1] = req.body.passWord
    user[2] = req.body.id
    const updateSql = 'UPDATE user SET userName = ?,passWord = ? WHERE Id = ?'
    connection.query(updateSql,user,(err,results) => {
        if (err) {
            return res.json({
                code: 1,
                message: '修改失败',
                affextedRows: 0
            })
        }
        res.json ({
            code: 200,
            message: '修改成功',
            affextedRows:results.affextedRows
        })
    })
})

启动服务,监听3001服务端口

//启动服务,端口3001
app.listen(3001,() => {
    console.log('服务启动成功:'+`http://localhost:3001/`)
})

本章源码下载:GitHub地址
如果觉得有所帮助,欢迎\color{Crimson}{喜欢}\color{Crimson}{赞赏} ^_^

上一篇 下一篇

猜你喜欢

热点阅读