使用express创建服务器保存数据到mysql

embedded/2025/3/10 18:15:45/

创建数据库和表结构

CREATE DATABASE collect;USE collect;CREATE TABLE `info` (`id` int(11) NOT NULL AUTO_INCREMENT,`create_date` bigint(20) DEFAULT NULL COMMENT '时间',`type` varchar(20) DEFAULT NULL COMMENT '数据分类',`text_value` text COMMENT '内容',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4

创建前端项目

mkdir node-mysql-api
cd node-mysql-api
npm init -y
npm install express mysql cors

新建server.js文件,保存以下内容

const express = require('express');
const mysql = require('mysql');
const cors = require('cors');const app = express();
const port = 3000;// 使用中间件解析JSON请求体
app.use(express.json());// 使用CORS中间件
app.use(cors());// 创建MySQL连接
const db = mysql.createConnection({host: 'localhost',port: 3306,user: 'collect',    // 替换为你的数据库用户名password: '123456',// 替换为你的数据库密码database: 'collect'
});// 连接到数据库
db.connect((err) => {if (err) {console.error('Error connecting to the database:', err);return;}console.log('Connected to the database');
});// 定义saveInfo接口
app.post('/saveInfo', (req, res) => {const { createDate = (new Date()).getTime(), type, textValue } = req.body;if (!type || !textValue) {return res.status(400).send({code: 0, message:'All fields are required'});}const sql = 'INSERT INTO info (create_date, type, text_value) VALUES (?, ?, ?)';const values = [createDate, type, textValue];db.query(sql, values, (err, results) => {if (err) {console.error('Error inserting data:', err);return res.status(500).send('Server error');}res.status(200).send({code: 1, message: "Info saved with ID: "+results.insertId});});
});
// 方便测试用
app.get('/',(req,res)=>{res.send('<h1>hello world</h1>')
})// 启动服务器
app.listen(port, () => {console.log(`Server running at http://localhost:${port}`);
});

启动服务器

node server.js

在浏览器中打开:http://localhost:3000,可以看到如下图所示,即表示成功
在这里插入图片描述
在该页面点击鼠标右键-检查,切换到console面板,输入以下代码发起测试请求

fetch('/saveInfo', {method: 'post',body: JSON.stringify({createDate: 1741318847,type: 'test',textValue: '这里是测试的内容'}),headers: {'Content-Type': 'application/json'}
}).then(res => res.text()).then(txt => console.log(txt))

控制台打印出如下内容,且数据库中出现新提交的测试数据即可
Info saved with ID: 1

在这里插入图片描述


http://www.ppmy.cn/embedded/171544.html

相关文章

基于Spring Boot的宠物健康顾问系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

达梦数据库查看字符集编码

select SF_GET_UNICODE_FLAG(); 返回 0 代表数据库字符集编码为 GB18030 1 代表数据库字符集编码为 UTF-8 2 代表数据库字符集编码为韩文字符集 EUC-KR

【第20节】C++设计模式(行为模式)-Visitor(访问者)模式

一、问题引出 在面向对象系统的开发和设计过程中&#xff0c;经常会遇到需求变更&#xff08;Requirement Changing&#xff09;的情况。通常&#xff0c;我们已经完成了一个设计并实现了系统原型&#xff0c;但客户又提出了新的需求。为了满足这些新需求&#xff0c;我们不得不…

安装微软最新原版系统,配置好系统驱动并保留OOBE全新体验

记录一种安装原版系统&#xff0c;并在用户使用前安装好所有驱动&#xff0c;以及配置好网络和工作环境&#xff0c;但不影响用户全新体验的方法。 前言 有的时候我们可能会遇到这样一种情况&#xff1a; 需要给别人安装一个微软官网正版的全新系统&#xff0c;用户开机要有OO…

Mac本地安装运行FastDFS

没错&#xff0c;因为毕设...... 服务器过期了&#xff0c;只能装在本地了...... 1.配置 macOS 上需要安装以下依赖&#xff1a; Homebrew&#xff08;macOS 包管理器&#xff09; gcc&#xff08;编译器&#xff09; libevent&#xff08;FastDFS 依赖&#xff09; 安装…

前端开发怎么处理数据的安全

1. 数据加密 传输加密&#xff1a;使用HTTPS协议加密数据传输&#xff0c;防止中间人攻击。 存储加密&#xff1a;对本地存储&#xff08;如LocalStorage、SessionStorage&#xff09;中的敏感数据进行加密&#xff0c;避免明文存储。 加密算法&#xff1a;使用强加密算法&am…

蓝桥杯篇---EEPROM内部存储地址

文章目录 前言1. EEPROM 容量与地址范围2. 代码中的 addr 参数3. 大容量 EEPROM 的地址扩展4. 地址分配建议系统配置用户数据日志数据 5. 注意事项地址溢出页写入限制写保护写延时 总结 前言 在EEPROM的代码中&#xff0c;EEPROM_Write 和 EEPROM_Read 函数的 addr 参数表示 E…

机器学习周报-文献阅读

文章目录 摘要Abstract 1 文章内容1.1 模型1.1.1 Geo Embedding1.1.2 ST encoder1.1.3 ST decoder 1.2 实验 2 相关知识2.1 Huber 损失函数2.2 代码总结 摘要 本周阅读了题目为Design of Prediction Framework Geo-TA Utilizing Spatial and Temporal Water Quality Data Inte…