下面是关于“Node.js+Express+Mysql 实现增删改查”的完整攻略:
一、准备工作
- 安装Node.js和npm(注:npm在安装Node.js时会自动安装)。
- 安装Express:在命令行中输入
npm install express --save
安装Express并将其添加到依赖项中。 - 安装Mysql:在命令行中输入
npm install mysql --save
安装Mysql并将其添加到依赖项中。 - 在MySQL数据库中创建相应的数据表。
二、建立连接
在app.js文件中建立与Mysql数据库的连接:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'test'
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
// 建立数据库连接
module.exports = connection;
三、实现增删改查
在routes/index.js文件中实现增删改查:
const express = require('express');
const router = express.Router();
const connection = require('../app.js');
// 添加用户
router.post('/addUser', function(req, res, next) {
const user = req.body;
const {name, age, email} = user;
const addUserSql = `INSERT INTO users (name, age, email) VALUES ('${name}', ${age}, '${email}')`;
connection.query(addUserSql, function (error) {
if (error) {
console.error(error);
res.send({code: 1, msg: '添加用户失败'});
} else {
res.send({code: 0, msg: '添加用户成功'});
}
});
});
// 删除用户
router.post('/deleteUser', function(req, res, next) {
const user = req.body;
const {id} = user;
const deleteUserSql = `DELETE FROM users WHERE id=${id}`;
connection.query(deleteUserSql, function (error) {
if (error) {
console.error(error);
res.send({code: 1, msg: '删除用户失败'});
} else {
res.send({code: 0, msg: '删除用户成功'});
}
});
});
// 更新用户
router.post('/updateUser', function(req, res, next) {
const user = req.body;
const {id, name, age, email} = user;
const updateUserSql = `UPDATE users SET name='${name}', age=${age}, email='${email}' WHERE id=${id}`;
connection.query(updateUserSql, function (error) {
if (error) {
console.error(error);
res.send({code: 1, msg: '更新用户失败'});
} else {
res.send({code: 0, msg: '更新用户成功'});
}
});
});
// 查找用户
router.post('/findUser', function(req, res, next) {
const user = req.body;
const {name} = user;
const findUserSql = `SELECT * FROM users WHERE name='${name}'`;
connection.query(findUserSql, function (error, results) {
if (error) {
console.error(error);
res.send({code: 1, msg: '查找用户失败'});
} else {
res.send({code: 0, msg: '查找用户成功', data: results});
}
});
});
module.exports = router;
四、示例说明
示例一:添加用户
在前端页面中输入用户信息并点击“提交”按钮。
var addUser = function () {
var name = document.getElementById('name').value;
var age = document.getElementById('age').value;
var email = document.getElementById('email').value;
fetch('/addUser', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name, age, email})
}).then(function(res) {
return res.json();
}).then(function(res) {
alert(res.msg);
});
}
后端接收到请求并将用户信息插入到MySQL数据库中。
示例二:查找用户
在前端页面中输入用户姓名并点击“搜索”按钮。
var findUser = function () {
var name = document.getElementById('name').value;
fetch('/findUser', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name})
}).then(function(res) {
return res.json();
}).then(function(res) {
if(res.code === 0) {
var data = res.data;
var result = '';
for(var i = 0; i < data.length; i++) {
result += `${data[i].name},${data[i].age}岁,${data[i].email}\n`;
}
alert(res.msg + result);
} else {
alert(res.msg);
}
});
}
后端根据用户姓名,在MySQL数据库中查找匹配的用户信息并返回给前端页面。
以上就是使用Node.js+Express+Mysql实现增删改查的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node.js+Express+Mysql 实现增删改查 - Python技术站