Express实现可携参数据查询接口:含源码与SQL文件,精准与模糊查询一步到位
首先,我们需要创建一个Express应用,并安装相关的依赖。 1. 创建一个新的文件夹,并在终端中进入该文件夹。 2. 执行以下命令来初始化一个新的package.json文件: ``` npm init -y ``` 3. 安装express和mysql模块: ``` npm install express mysql --save ``` 接下来,我们可以创建一个名为app.js的文件,并实现数据查询接口。 ```javascript const express = require('express'); const mysql = require('mysql'); const app = express(); // 创建与MySQL数据库的连接 const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'database_name' // 替换为你的数据库名 }); // 连接到MySQL数据库 connection.connect(err => { if (err) { console.error('数据库连接失败:', err); return; } console.log('成功连接到数据库'); }); // 处理跨域访问 app.use((req, res, next) => { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE'); res.header('Access-Control-Allow-Headers', 'Content-Type'); next(); }); // 查询接口 app.get('/data', (req, res) => { const id = req.query.id; // 获取参数中的id const name = req.query.name; // 获取参数中的name let query = 'SELECT * FROM table_name'; if (id) { query += ` WHERE id = ${id}`; } else if (name) { query += ` WHERE name LIKE '%${name}%'`; } // 执行SQL查询 connection.query(query, (err, results) => { if (err) { console.error('查询失败:', err); res.status(500).json({ error: '查询失败' }); return; } res.json(results); }); }); // 启动服务器 app.listen(3000, () => console.log('服务器已启动,监听端口:3000')); ``` 其中,需替换`localhost`、`root`、`password`、`database_name`和`table_name`为你的数据库相关信息。 需要创建一个数据表,可以使用以下SQL语句创建一个示例的数据表: ```sql CREATE TABLE table_name ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) ); INSERT INTO table_name (name) VALUES ('John Doe'), ('Jane Smith'), ('Bob Johnson'); ``` 将上述SQL语句保存为一个`.sql`文件,如`data_table.sql`。 在终端中执行以下命令启动服务器: ``` node app.js ``` 现在,你可以通过以下接口来查询数据: ``` http://localhost:3000/data?id=1 ``` 或 ``` http://localhost:3000/data?name=John ``` 你将会得到符合查询条件的数据的JSON格式的响应。 ######[AI写代码神器 | 1529点数解答 | 2024-12-08 14:44:44]
- 批处理文件:依据参数表.xlsx精准修改文件.txt中p、t、s值(GPT | 811点数解答 | 2024-12-05 12:58:37)416
- 用批处理和Python实现“参数表.xlsx”与“文件.txt”数据匹配及修改(讯飞星火 | 531点数解答 | 2024-12-05 13:20:42)389
- 批处理文件:依据参数表.xlsx精准修改文件.txt特定参数值(阿里通义 | 495点数解答 | 2024-12-05 13:22:26)367
- 易语言:实现搜索通配符功能,解决搜索内容超255问题(字节豆包 | 32点数解答 | 2026-02-09 16:44:31)66
- 代码优化:“A_寻找通配符”子程序的改进之路(字节豆包 | 1248点数解答 | 2026-02-09 16:45:52)65
- 易语言:A_寻找通配符子程序完整实现及详细代码解读(字节豆包 | 1368点数解答 | 2026-02-09 16:49:12)63
- Java SQL语法错误:“select count(*)”语句出错,教你排查MariaDB SQL语法问题!( | 350点数解答 | 2024-04-25 08:26:19)401
- Java 实战:创建 Vehicle 接口并在 Bike 类实现,T4 类调用启动与停止方法(字节豆包 | 130点数解答 | 2024-09-19 17:40:54)434
- Python 实现移位与仿射密码:精准加密解密及关键逻辑解析(字节豆包 | 798点数解答 | 2024-12-18 15:55:47)280
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)380
- Python 利用 win32com 库:将 Excel 转换为 A4 横向 PDF 并单独打印首列(字节豆包 | 507点数解答 | 2025-03-10 15:48:12)333
- 易语言代码优化:自动出售物资子程序整合与优化全解析(DeepSeek | 2181点数解答 | 2025-07-23 10:26:29)230