chen西瓜

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用Express对mysql进行增改查操作(完全代码版本)

今天发的是Express对mysql进行增删改操作的所有代码,这个代码还没有完善好,都是一些基础的增删改查操作,有一些地方也写上了注释方便大家查看,还有更方便管理的方法,后续再给大家更新把。

最近要是有时间就会把文章写出来给大家,希望想要学习的朋友都能学习顺利。

server.js文件夹完整的代码示例

    // 引入 express 框架
const express = require('express')
const mysql = require("mysql");
const bodyParser = require('body-parser');

// 创建实例
const app = express();
// 解析 application/json
app.use(bodyParser.json());
// // 解析 application/x-www-form-urlencoded
// app.use(bodyParser.urlencoded());

app.all('*', function(req, res, next) {
res.header('Access-Control-Allow-Origin',
'*'); //*表示可以跨域任何域名都行(包括直接存在本地的html文件)出于安全考虑最好只设置 你信任的来源也可以填域名表示只接受某个域名
res.header('Access-Control-Allow-Headers', 'X-Requested-With,Content-Type'); //可以支持的消息首部列表
res.header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS'); //可以支持的提交方式
res.header('Content-Type', 'application/json;charset=utf-8'); //响应头中定义的类型
next();
});

const connection = mysql.createConnection({ //建立一个连接参数方法
host: 'localhost', //数据库地址
port: '3306', //端口号
user: 'root', //用户名
password: 'root', //密码
database: 'test' //数据库名称
});
//用参数与数据库进行连接
// connection.connect();
let str = '';
connection.connect(); //打开连接
// connection.end()//关闭连接 如果关闭连接第二次请求数据库连接会失败
const getBanner = (table) => { //查询数据
return new Promise(function(resolve, reject) {
let sql = `SELECT * FROM ${table}`;
try {
connection.query(sql, (err, data) => {
if (err) {
reject(err)
} else {
resolve(data)
}
})
} catch (e) {
console.log(e);
}
})
}

const addBanner = (list) => { //增加数据
// console.log(Object.values(list));
list = Object.values(list) //将对象转成数组
return new Promise(function(resolve, reject) {
// const sql = 'UPDATE `user` SET ? WHERE id = ?'
//     //若sql语句中包含多个?占位符,第二个实参必须传递一个数组,并一一对应
//     conn.query(sql,[user,user.id],(err,result) => {}

let addSql = `INSERT INTO banner(name,url) VALUES (?,?)`;
try {
connection.query(addSql, list, (err, result) => {
if (err) {
reject(err)
} else {
result = {
code: 200,
msg: '增加成功'
};
resolve(result)
}
})
} catch (e) {
console.log(e);
}
})
}


const deleteBanner = (list) => { //删除数据
return new Promise(function(resolve, reject) {
let deleteSql = `delete from banner where name='${list.name}'`;
try {
connection.query(deleteSql, (err, result) => {
if (err) {
reject(err)
} else {
result = {
code: 200,
msg: '删除成功'
};
// console.log(result);
resolve(result)
}
})
} catch (e) {
console.log(e);
}
})
}

const updateBanner = (list) => { //修改数据
return new Promise(function(resolve, reject) {
let updateSql = `update banner set ? where id=${list.id}`;
try {
connection.query(updateSql,list.data, (err, result) => {
if (err) {
reject(err)
} else {
result = {
code: 200,
msg: '修改成功'
};
// console.log(result);
resolve(result)
}
})
} catch (e) {
console.log(e);
}
})
}
//2.发送请求(查询)
// var insert = `INSERT INTO table_name (name,url )VALUES(${name},${url});`

app.get('/', (req, res) => {
res.send('express启动成功端口号3011');
})

app.post('/addbanner', (req, res) => { //增加
addBanner(req.body).then(re => {
console.log(re);
res.send(re)
})
})
app.post('/deletebanner', (req, res) => { //删除
deleteBanner(req.body).then(re => {
// console.log(re);
res.send(re)
})
})

app.post('/updatebanner', (req, res) => { //修改
updateBanner(req.body).then(re => {
console.log(re);
res.send(re)
})
})

app.post('/select', (req, res) => { //查询某表数据
getBanner(req.body.table).then(re => {
res.send(re);
})
})


// 监听端口
app.listen(3011, () => {
console.log("服务已经启动,3011 端口监听中...");
})



posted on 2022-01-20 18:17  chen西瓜  阅读(430)  评论(0编辑  收藏  举报