node.js: mysql Connection in vscode
mysql script:
drop table `vuedustu`; CREATE TABLE `vuedustu` ( `stuId` int(11) NOT NULL AUTO_INCREMENT comment'学生编号', `stuname` varchar(255) DEFAULT NULL comment'学姓姓名', `stusex` varchar(255) DEFAULT NULL comment'性别', `stucollege` varchar(255) DEFAULT NULL comment'院系', `stuclass` varchar(255) DEFAULT NULL comment'班级', PRIMARY KEY (`stuId`) ) ENGINE=MyISAM comment='学生表' AUTO_INCREMENT=2025807108 DEFAULT CHARSET=utf8; INSERT INTO `vuedustu` VALUES (2025101101,'陈二','男','农学院','园林25(1)班'), (2025307101,'李三','男','工程学院','土木25(1)班'), (2025407101,'张四','男','电气与信息学院','计算机25(1)班'), (2025407102,'王五','女','电气与信息学院','计算机25(1)班'), (2025507121,'赵一','女','人文与生命科技学院','生技25(1)班'), (2025607101,'何六','女','会计学院','会计25(1)班'), (2025707121,'刘八','男','经济管理学院','经管25(1)班'), (2025807102,'金九','男','理学院','信息工程25(1)班'), (2025807105,'银十','女','工学院','自动化工程25(2)班'), (2025807107,'涂不','女','医学院','临床科学班(3)班'); select * from vuedustu;
//
/**
* db.js
* node 20 vue.js 3.0
* ide: vscode
* mysql 8.0
* npm install express cors body-parser connect-multiparty
*/
// 数据库连接配置
const db ={
mysql:{
host:'localhost',//主机ip地址
port:'3306', //端口号
user:'root', //用户名
password:'geovindu', //密码
database:'geovindu', //数据库名
}
}
//exports.conMysql = conMysql
export default db;
/**
* sqlMap.js sql语句
* node 20 vue.js 3.0
* ide: vscode
* mysql 8.0
* npm install express cors body-parser connect-multiparty
*/
const sqlMap = {
Stu: {
add: 'insert into vuedustu(stuId,stuname,stusex,stucollege,stuclass) values (0,?,?,?,?)',
show: 'select * from vuedustu',
del: 'delete from vuedustu where stuId = ?',
update: 'update vuedustu set stuname = ?,stusex = ?,stucollege = ?,stuclass = ? where stuId = ?'
}
}
// module.exports = sqlMap
export default sqlMap;
/**
* api/StuApi.js
* node 20 vue.js 3.0
* ide: vscode
* mysql 8.0
* npm install express cors body-parser connect-multiparty
*/
import sqlMap from '../sqlMap.js'
import db from '../db.js'
import express from 'express'
const router = express.Router()
import mysql from 'mysql'
const $sql =sqlMap// require('../sqlMap')
// 连接数据库
const conn = mysql.createConnection(db.mysql)
conn.connect()
const jsonWrite = function (res, ret) {
if (typeof ret === 'undefined') {
res.json({
code: '1', msg: '操作失败'
})
} else {
res.json(
ret
)
}
}
// 接口:增加信息
router.post('/addStu', (req, res) => {
const sql = $sql.Stu.add
const params = req.body
console.log('添加', params)
conn.query(sql, [params.stuname, params.stusex, params.stucollege, params.stuclass], function (err, result) {
if (err) {
console.log(err)
}
if (result) {
jsonWrite(res, result)
}
})
})
// 接口:查询全部 http://localhost:3003/Stu/showStu
router.get('/showStu', (req, res) => {
const sql = $sql.Stu.show
const params = req.body
console.log(params)
conn.query(sql, [params.stuId, params.stuname, params.stusex, params.stucollege, params.stuclass], function (err, result) {
if (err) {
console.log(err)
}
if (result) {
jsonWrite(res, result)
}
})
})
// 接口:删除信息
router.post('/delStu', (req, res) => {
const sql = $sql.Stu.del
const params = req.body
console.log('删除', params)
conn.query(sql, [params.stuId], function (err, result) {
if (err) {
console.log(err)
}
if (result) {
jsonWrite(res, result)
}
})
})
// 接口:修改信息
router.post('/updateStu', (req, res) => {
const sql = $sql.Stu.update
const params = req.body
console.log('修改', params)
conn.query(sql, [params.stu_name, params.stu_sex, params.stu_college, params.stu_class, params.stu_Id], function (err, result) {
if (err) {
console.log(err)
}
if (result) {
jsonWrite(res, result)
}
})
})
//module.exports = router
export default router //
/**
* index.js
* node 20 vue.js 3.0
* ide: vscode
* mysql 8.0
* npm install express cors body-parser connect-multiparty
*/
import express from 'express'
import bodyParser from 'body-parser'
import fs from 'fs'
import path from 'path'
import StuApi from './api/StuApi.js'
const app = express()
//采用设置所有均可访问的方法解决跨域问题
app.all("*", function (req, res, next) {
//设置允许跨域的域名,*代表允许任意域名跨域
res.header("Access-Control-Allow-Origin", "*");
//允许的header类型
res.header("Access-Control-Allow-Headers", "content-type");
//跨域允许的请求方式
res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
if (req.method.toLowerCase() == 'options')
res.send(200); //让options尝试请求快速结束
else
next();
})
app.use(bodyParser.json()) // 以json格式返回出去
app.use(bodyParser.urlencoded({ extended: false }))
// 后端api路由
app.use('/Stu',StuApi) //
// 监听端口
app.listen(3003)
console.log('success listen at port:3003......')
运行:
node index

哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
浙公网安备 33010602011771号