上篇文章,我们封装了ajax
方法来请求后端数据,这篇文章将介绍如何使用 Node.js
来连接 MySQL
,并对数据库进行操作。
实现效果
代码实现
- 后端接口处理
const express = require("express");
const connection = require("../data/index");
const router = express.Router();
const { proxy } = require("../utils");
const names = ["张三", "李四", "王五", "赵六"];router.get("/", (req, res) => {res.send("Hello World!");
});router.post("/form", (req, res) => {const { name, pwd } = req.body;if (names.includes(name)) {return res.json({code: 1,data: {name: "该用户名已经注册啦",pwd: "",},});} else {return res.json({code: 0,data: {name: "可以注册啦",pwd: "",},});}connection.end();
});router.get("/song-list", async (req, res) => {const sql = "select * from music_list";try {const data = await proxy(connection, sql);return res.json({ code: 0, data });} catch (error) {return res.json({ code: 1, msg: "获取数据失败" });}connection.end();
});
module.exports = router;
mysql
连接初始化
var mysql = require("mysql");
var connection = mysql.createConnection({host: "localhost",user: "root",password: "123456",database: "songdata",
});module.exports = connection;
在node
中mysql
的查询是使用的函数回调,这样就把我们的查询数据业务和对数据操作的业务耦合在一起了,我们封装这个方法,进行查询操作和数据处理的解耦
function proxy(connection, sql) {return new Promise((resolve, reject) => {connection.query(sql, (err, results) => {console.log("🚀 ~ connection.query ~ results:", results);if (err) {// console.log("🚀 ~ router.post ~ err", err);reject(err);} else {resolve(results);}});});
}module.exports = { proxy };
- 在首页增补上
// 链接数据库
const connection = require("./data/index");
connection.connect();
mysql
数据库
- 温馨提示:最好是使用可视化工具来查看,工具很多,大家可以自行去找适合自己的工具
这样我们,就实现了前端通过ajax请求后端真实数据库的操作