使用node实现链接数据库并对数据库进行增删改查的后端接口

环境

node

npm

编辑器

vscode

项目配置

新建目录 用vscode打开

终端输入

npm init -y

npm install mysql

npm install express

代码

安装好之后的代码页面

新建

在根目录新建api.js文件

cpp 复制代码
const express = require('express');
const db = require('./db/index');
const app = express();
app.get('/users', (req, res) => {
  db.query('SELECT * FROM message', (error, results) => {
    if (error) {

      res.status(500).json({ error: `Failed to fetch users${error}` });
    } else {
      res.json({ success: true, data: results });
    }
  });
});
const port = 3001; // 你可以根据需要更改端口号

app.listen(port, () => {
  console.log(`Server is running on port ${port}`);
});

在根目录新建文件夹db 文件夹下新建index.js

cpp 复制代码
let mysql = require("mysql");

let db = mysql.createPool({
  host: "localhost", //数据库IP地址
  // host:"localhost",
  port: "3306",//数据库端口
  user: "root", //数据库登录账号
  password: "123456", //数据库登录密码
  database: "message", //要操作的数据库
});

module.exports = db;

目录结构为

测试接口

终端输入node api.js回车

可以看到我写的一个测试接口路径是/users

我的端口是3001

在浏览器输入http://localhost:3001/users访问接口

发现返回了数据

看看和数据库的一样不

postman测试

注意

你在运行端口的时候改代码是不生效的 没使用热部署类似的功能 所以要重新运行端口

相关推荐
OnlyEasyCode1 小时前
Navicat 任务自动备份指定数据库
数据库
if else1 小时前
Redis 哨兵集群部署方案
数据库·redis
yejqvow121 小时前
Pandas 高效实现组内跨行时间戳匹配与布尔标记
jvm·数据库·python
了不起的云计算V1 小时前
从DeepSeek V4适配看国产算力的三个拐点
数据库·人工智能
qq_189807032 小时前
html标签如何提升可访问性_aria-label与title区别【指南】
jvm·数据库·python
norq juox2 小时前
MySQL 导出数据
数据库·mysql·adb
qq_349317482 小时前
mysql如何设置定时自动备份脚本_编写shell脚本与cron任务
jvm·数据库·python
952362 小时前
Spring IoC&DI
java·数据库·spring
尚雷55802 小时前
从电商订单支付更新,吃透 Oracle 数据修改的底层设计哲学与全组件协同原理
数据库·oracle
2401_832365522 小时前
Chart.js 4 中基于数据实际范围的线性渐变填充方案
jvm·数据库·python