当前位置: 首页 > news >正文

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

创建数据库和表结构

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(201).send(`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.mrgr.cn/news/93667.html

相关文章:

  • 【Linux】权限相关知识点
  • GPU编程实战指南01:CUDA编程极简手册
  • P6412题解
  • 前端快速搭建Node服务(解决跨域问题)
  • HCIA复习拓扑实验
  • 【项目日记(十)】瓶颈分析与使用基数树优化
  • 快乐数 力扣202
  • FreeSWITCH 之 chat
  • π0及π0_fast的源码剖析——核心模块src的全面分析与解读:如何实现PaLI-Gemma、如何去噪生成动作
  • ROS分布式部署通信
  • C#类型转换基本概念
  • 【江协科技STM32】ADC数模转换器-学习笔记
  • 考研数一非数竞赛复习之Stolz定理求解数列极限
  • 【CVPR2025】 EVSSM:用状态空间模型高效去模糊
  • LINUX网络基础 [五] - HTTP协议
  • 【深度学习】宠物品种分类Pet Breeds Classifier
  • 在人工智能软件的帮助下学习编程实例
  • 【NLP 32、文本匹配任务 —— 深度学习】
  • 从自己电脑的浏览器访问阿里云主机中运行的LLaMA-Factory webui
  • P8662 [蓝桥杯 2018 省 AB] 全球变暖--DFS