vue create 项目名
Vue项目创建的详细步骤,有需要的可移步这里
npm install express
npm install cors
npm install mysql
npm install axios
let express = require('express') let app = express() let cors = require('cors') let bodyParser = require('body-parser') app.use(bodyParser.json()); //配置解析,用于解析json和urlencoded格式的数据 app.use(bodyParser.urlencoded({extended: false})); app.use(cors()) //配置跨域,必须在路由之前 app.listen(80, () => { console.log('服务器启动成功'); })
let mysql = require('mysql') let db = mysql.createPool({ host: '127.0.0.1', //数据库IP地址 user: 'root', //数据库登录账号 password: 'root', //数据库登录密码 database: 'test' //要操作的数据库 }) module.exports = db
let db = require('../db/index') exports.get = (req, res) => { var sql = 'select * from user' db.query(sql, (err, data) => { if(err) { return res.send('错误:' + err.message) } res.send(data) }) }
let express = require('express') let router = express.Router() let user = require('./API/user') router.get('/user', user.get) module.exports = router
let express = require('express') let app = express() let cors = require('cors') let bodyParser = require('body-parser') let router = require('./router') app.use(bodyParser.json()); //配置解析,用于解析json和urlencoded格式的数据 app.use(bodyParser.urlencoded({extended: false})); app.use(cors()) //配置跨域 app.use(router) //配置路由 app.listen(80, () => { console.log('服务器启动成功'); })
server文件夹下执行
node app.js
提示“服务器启动成功”,浏览器打开http://127.0.0.1/user,可看见user数据表中对应的数据,表示服务器搭建成功。
执行结果
注意:运行项目前,一定要先启动服务器,只有服务器启动之后,接口才能被调用,所以需要打开两个终端,分别用于启动服务器和项目
let db = require('../db/index') exports.all = (req, res) => { //获取info表全部数据 var sql = 'select * from info' db.query(sql, (err, data) => { if(err) { return res.send('错误:' + err.message) } res.send(data) }) } exports.get = (req, res) => { //通过id查询数据 var sql = 'select * from info where id = ?' //?用于占位 db.query(sql, [req.query.id], (err, data) => { if(err) { return res.send('错误:' + err.message) } res.send(data) }) } exports.del = (req, res) => { //通过id删除数据 var sql = 'delete from info where id = ?' db.query(sql, [req.query.id], (err, data) => { if(err) { return res.send('错误:' + err.message) } if(data.affectedRows > 0) { res.send({ status: 200, message: '删除成功' }) }else{ res.send({ status: 202, message: '删除失败' }) } }) } exports.add = (req, res) => { //向info表添加数据 var sql = 'insert into info (id,name,address,tel) values (?,?,?,?)' db.query(sql, [req.query.id, req.query.name, req.query.address, req.query.tel], (err, data) => { if(err) { return res.send('错误:' + err.message) } if(data.affectedRows > 0) { res.send({ status: 200, message: 'success' }) }else{ res.send({ status: 202, message: 'error' }) } }) } exports.update = (req, res) => { //通过id更新数据 var sql = 'update info set name = ?, address = ?, tel = ? where id = ?' db.query(sql, [req.query.name, req.query.address, req.query.tel, req.query.id], (err, data) => { if(err) { return res.send('错误:' + err.message) } if(data.changedRows > 0) { res.send({ status: 200, message: 'success' }) }else{ res.send({ status: 202, message: 'error' }) } }) }
let express = require('express') let router = express.Router() let user= require('./API/user') let info = require('./API/list') router.get('/user', user.get) router.get('/list/all', info.all) router.get('/list/get', info.get) router.get('/list/add', info.add) router.get('/list/update', info.update) router.get('/list/del', info.del) module.exports = router
(本人懒得写样式了,随便看看就好_(:з」∠)_)
注意:此处的页面搭建本人使用了elementUI组件,CV前要先下载elementUI
在终端执行 npm i element-ui -S ,同时在main.js中导入注册即可
获取info表的全部数据 -----------------------------------
删除 查询 -----------------------------------
添加 修改
ID 姓名 家庭住址 联系电话 {{item.id}} {{item.name}} {{item.address}} {{item.tel}}
vue+mysql+node实现数据表增删改查
再补充一点:get请求传参数据存放在req.query中;post请求传参数据存放在req.body中。
文章中只展示了get请求,所以在此特别补充说明一下
具体可参见vue登录注册案例,其中的登录使用的是get请求,注册使用的是post请求
文中的内容都是一些相当基础的知识,希望大家可以在看懂理解的基础上多敲代码,这样才能有所进步(虽然cv真的很快乐)
待完善demo git下载地址:https://gitee.com/xie-xiaochun/demo.git