结构安排:
创建仓库 安装 使用的包 (express , mysql)
utils中的tool.js
// 1.加载myspl
var mysql = require("mysql");
// 2.创建连接
var connection = mysql.createConnection({
host: "localhost", // 你要连接的数据库服务器的地址
port: 3306, // 端口号
user: "root", // 连接数据库服务器需要的用户名
password: "root", // 连接数据库服务器需要的密码
database: "mydata", //你要连接的数据库的名字
});
//3.连接数据库
connection.connect((err) => {
// 如果有错误对象,表示连接失败
if (err) return console.log("数据库连接失败");
// 没有错误对象提示连接成功
console.log("mysql数据库连接成功");
});
// 获取ip
function getClientIp(req) {
return (
req.headers["x-forwarded-for"] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress
);
}
// 导出 connection , getClientIp 工具
module.exports = { connection, getClientIp };
router中的addStudents.js
// 引入express 与 fs模块
const express = require('express')
const fs = require('fs')
// 导入公共使用方法
const utils = require('../utils/mySql')
// 使用 express中的路由 进行 URL匹配
const router = express.Router()
// 创建接口
router.post('/addstudents', (req, res) => {
// 将接受来的数据 结构赋值
const { name, age } = req.body
// 将 变量写入 SQL语句
const sql = `insert into sb (name,age) values ('${name}',${age})` /* 注意 传到数据
库的数据name 要用字符串 所以在 $外加 '' */
// 执行SQL语句 使用的是utils内的工具
utils.connection.query(sql, (ree, data) => {
if (ree) {
res.json({ msg: "添加失败", code: 0 });
} else {
res.json({ msg: "添加成功", code: 1 });
}
})
// 使用 fs 将 ip地址 及时间打印出来 使用的是utils内的工具
let ip = utils.getClientIp(req)
let item = new Date()
fs.appendFile('访问记录.txt', '访问地址:' + ip + '访问时间:' + item + '\n', (res) => {})
})
// 将 该路由传出去
module.exports = router
router中的findStudent.js
const express = require('express')
const fs = require('fs')
const utils = require('../utils/mySql')
const router = express.Router()
router.get('/students', (req, res) => {
const sql = 'select * from sb '
utils.connection.query(sql, (ree, data) => {
if (ree) {
res.json({ msg: "查找失败", code: 0 });
} else {
res.json({ msg: "查找成功", code: 1, data });
}
})
let ip = utils.getClientIp(req)
let item = new Date()
fs.appendFile('访问记录.txt', '访问地址:' + ip + '访问时间:' + item + '\n', (res) => {})
})
module.exports = router
server.js
// 导入 experss 模块
const experss = require('express')
const app = experss()
// 这里 接收路由文件
const add = require('./router/addStudent')
const find = require('./router/findStudent')
// 接收 普通字符的请求体
app.use(experss.urlencoded())
// 使用路由文件
app.use('/router', add)
app.use('/router', find)
//打开端口
app.listen(4000, () => {
console.log('4000端口 已打开');
})