一、开始前准备
1.1初始化,安装npm包,(express,mysql)
1.2文件夹设置
1.2.1统一建立一个文件夹,用于放置不同请求类型的请求方式或不同形式的请求地址,便于管理查询
1.2.2建立一个工具文件夹tools,放置公共形式的代码
1.3 说明
//划分文件使用Router
//创建一个route目录,专门用于放置路由文件,通过module.exports导出供外部使用。
二、代码
2.1 sql.js代码
2.2 route文件夹api.js 获取数据代码
//导入自定义模块
const connection = require('../../tools/sql')
const express = require('express')
function getClientIp(req) {
return req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress;
}
//路由中间件
//express对象的方法
//创建路由实例,我们可以在该实例上自由的添加路由
const router = express.Router()
//获取
router.get('/students', (req, res) => {
console.log(req.body);
//查询数据表
// 4. 执行SQL语句
let sq = 'select * from students'
connection.query(sq, (err, result) => {
if (err) {
console.log(err);
res.json({ msg: '获取失败' })
} else {
// 查询的结果是一个数组
// 每一个元素是一个对象,
// 对象的属性就是 select语句的查询的字段
console.log(result); // result就是查询结果
console.log('现在是', new Date().toLocaleString())
console.log('访问的地址是', req.url)
console.log('ip是', getClientIp(req))
res.json({ msg: '获取成功', '北京时间': new Date().toLocaleString(), '访问的地址': req.url, 'ip': getClientIp(req) })
// 输出日志
console.log('现在是', new Date().toLocaleString())
console.log('访问的地址是', req.url)
console.log('ip是', getClientIp(req))
}
})
})
//导出路由
module.exports = router
2.3 route文件夹add.js 添加数据代码
const connection = require('../../tools/sql')
const express = require('express')
function getClientIp(req) {
return req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress;
}
//express对象的方法
//创建路由实例,我们可以在该实例上自由的添加路由
const router = express.Router()
//获取普通键值对参数
router.use(express.urlencoded())
//添加
//注意这时候再加路由,就可以不带前面的/route路径了
router.post('/message', (req, res) => {
//获取到的参数会自动添加到req.body中
console.log(req.body);
//解构赋值
let { name, age } = req.body
// console.log(req.body);
let sql = `insert into students(name,age) values("${name}",${age})`
connection.query(sql, (err, result) => {
if (err) {
console.log('err', err);
res.json({ msg: '添加失败' })
} else {
// 输出日志
console.log('现在是', new Date().toLocaleString())
console.log('访问的地址是', req.url)
console.log('ip是', getClientIp(req))
res.json({ msg: '添加成功', '北京时间': new Date().toLocaleString(), '访问的地址': req.url, 'ip': getClientIp(req) })
}
})
})
//导出该路由
module.exports = router
2.4.server.js代码
三、运行
3.1打开mysql数据库软件 ,测试
3.2nood.js运行
3.3 postmen测试
3.3.1添加操作
3.3.2获取操作