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

news2024/11/28 20:43:01

环境

node
npm

编辑器

vscode

项目配置

新建目录 用vscode打开
终端输入
npm init -y
npm install mysql
npm install express

代码

安装好之后的代码页面
在这里插入图片描述

新建

在根目录新建api.js文件

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

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测试

在这里插入图片描述

注意

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1286433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国产智能运维操作系统新选择-浪潮KeyarchOS

1.背景 在CentOS停更,国有企业纷纷摒弃原有的开发与运维工具,全面拥抱国产。我司也顺应号召,更换原有CentOS系统。 在新系统选型上,我司有以下要求: 国产、快速更新迭代、社区活跃;拥有一定知名度&#x…

数据库Delete的多种用法

数据库的Delete操作是用来删除数据库中的数据记录的,它是数据库操作中的一种重要操作,能够帮助用户删除不需要的数据,以便保持数据库的整洁和高效。在使用Delete操作时,需要注意确保操作的准确性和安全性,以免误删重要…

【Mysql】聚合函数和分组(查找)

聚合函数 函数说明COUNT([DISTINCT] expr)返回查询到的数据的 数量SUM([DISTINCT] expr)返回查询到的数据的 总和,不是数字没有意义AVG([DISTINCT] expr)返回查询到的数据的 平均值,不是数字没有意义MAX([DISTINCT] expr)返回查询到的数据的 最大值&…

最新发布SPAB模块,YOLOv5改进之SPAB

目录 一、原理 二、代码 三、应用到YOLOv5 一、原理 单幅图像超分辨率(SISR)是低分辨率计算机视觉中的一项重要任务,旨在从低分辨率图像中重建高分辨率图像。传统的注意机制虽然显著提高了S

批量获取 Btsow 网站搜索到的磁力链接

BTSOW 是个不错的种子或磁力链接搜索网站,本脚本可以按需要批量抓取 磁力链接(老司机必备) 功能: 1.获取最新地址(网站经常失联) 2.最多50页内容(网站限制) 3.结果生成CSV文件(可用e…

全网最新最牛的Appium自动化:Appium常用操作之TouchAction操作

TouchAction操作 Appium的辅助类,主要针对手势操作,比如滑动、长按、拖动等。其原理是将一系列的动作放在一个链条中,然后将该链条传递给服务器。服务器接受到该链条后,解析各个动作,逐个执行。 TouchAction类支持的动…

Verilog基础:编译指令`timescale

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 timescale编译指令用于指定指令后模块的时间单位和时间精度。时间单位是时间值的度量单位,例如延迟值和仿真时间;而仿真精度决定了最小可分…

《SpringBoot项目实战》第六篇—接口防抖(防重复提交)的一些方式

系列文章导航 第一篇—接口参数的一些弯弯绕绕 第二篇—接口用户上下文的设计与实现 第三篇—留下用户调用接口的痕迹 第四篇—接口的权限控制 第五篇—接口发生异常如何统一处理 第六篇—接口防抖(防重复提交)的一些方式 本文参考项目源码地址:summo-springboot-i…

15.Servlet [一篇通]

文章目录 1.Servlet 是什么2.第一个 Servlet 程序2.1创建项目2.2引入依赖2.3创建目录2.4编写代码2.5打包程序2.6部署程序2.7验证程序 3.更方便的部署方式3.1安装 Smart Tomcat 插件3.2配置 Smart Tomcat 插件 4.访问出错怎么办?4.1出现 4044.2出现 4054.3出现 5004.4出现 &quo…

前端面试高频考点—事件循环Event loop

目录 事件循环 执行步骤 概念讲解 主线程 微任务(micro task) 宏任务(macro task) Event Loop经典例题 这段代码的执行结果是什么? 正确答案: 具体流程: 事件循环 主线程从"任务队列"中读取执行事件,这个过程…

WeiPHP 微信开发平台 SQL注入漏洞复现

0x01 产品简介 weiphp 是一个开源,高效,简洁的微信开发平台,基于 oneThink 内容管理框架实现。 0x02 漏洞概述 weiphp 微信开发平台 _send_by_group、 wp_where、 get_package_template等接口处存在 SQL 注入漏洞,攻击者利用此漏洞可获取数据库中的信息(例如,管理员后台…

【Docker】部署若依项目——保姆级教程亲测

目录 1.部署后端 步骤1:修改mysql地址 步骤2:修改redis地址 步骤3:修改后端端口 步骤4:将项目打包成Jar包 ​编辑 步骤5:编写Dockerfile 步骤6:制作镜像 启动容器 步骤7:访问 2.前端打…

国产接口测试工具APIpost

说实话,了解APIpost是因为,我的所有接口相关的文章下,都有该APIpost水军的评论,无非就是APIpost是中文版的postman,有多么多么好用,虽然咱也还不是什么啥网红,但是不知会一声就乱在评论区打广告…

论文阅读-Null-text Inversion for Editing Real Images using Guided Diffusion Models

一、论文信息 作者团队: 论文链接:https://arxiv.org/pdf/2211.09794.pdf 代码链接:https://github.com/google/prompt-to-prompt 二、Conditional Diffusion(classifier-free guidance) Classifier-free guidance方法训练&…

Honeywell PM43 loadfile.lp RCE漏洞复现(CVE-2023-3710)

0x01 产品简介 Honeywell PM43 是美国霍尼韦尔(Honeywell)公司的一款打印机产品。 0x02 漏洞概述 Honeywell PM43 P10.19.050004之前版本存在输入验证错误漏洞,攻击者可通过该漏洞在服务器端任意执行代码,写入后门,获…

【数据结构】链表OJ题(顺序表)(C语言实现)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

minio配置监听(对象操作日志)

minio配置监听对象操作 本文档适用于minio2021.3.17版本 有时我们需要查看minio中对象操作的日志,比如像监听minio某一个桶中的删除事件,就需要配置监听。minio支持将监听的结果输出到es、pg、amq等等,下面介绍一下将minio对象操作监听结果输…

leetcode:1422. 分割字符串的最大得分(python3解法)

难度:简单 给你一个由若干 0 和 1 组成的字符串 s ,请你计算并返回将该字符串分割成两个 非空 子字符串(即 左 子字符串和 右 子字符串)所能获得的最大得分。 「分割字符串的得分」为 左 子字符串中 0 的数量加上 右 子字符串中 1…

Stable Diffusion AI绘画系列【15】:花丛中的唯美人物写实照

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

数实融合!低代码推动工业数字化转型走“深”向“实”

当下,“数字化、智能化”已经不再是新鲜词。毕竟,在早几年前就已经有企业喊出大举进军数字化的口号,轰轰烈烈的数字化转型运动也持续了很长一段时间,有一些业内人士甚至判断“如今的企业数字化已经走过了成熟期,来到了…