fastify 连接 mysql

ops/2024/11/22 22:57:58/

一、安装依赖

安装 @fastify/mysql

pnpm add @fastify/mysql

二、示例

1. 创建 index.js

连接数据库,确保已经启动数据库,输入数据库的账号,密码,域名,端口,库名。

import Fastify from "fastify";import routes from "./routes.js";import fastifyMysql from "@fastify/mysql";const fastify = Fastify({logger: true,});/** 连接数据库 */fastify.register(fastifyMysql, {host: "127.0.0.1",port: 3307,user: "root",password: "111111",database: "twogod",charset: "utf8mb4",promise: true,});/** 接受所有媒体类型 */fastify.addContentTypeParser("*", function (request, payload, done) {var data = "";payload.on("data", (chunk) => {data += chunk;});payload.on("end", () => {done(null, data);});});/** 注册接口 */fastify.register(routes);/** 启动服务 */const start = async () => {try {await fastify.listen({ port: 3000 });console.log("webserver is runing");} catch (err) {console.log(err);}};start();

2. 创建 routes.js

async function routes(fastify, options) {/** 登录 */fastify.post("/login", async (req, res, done) => {const { username, password } = req.body;try {const result = await fastify.mysql.query("SELECT * FROM sys_admins WHERE username=? AND PASSWORD=?",[username, password]);if (result[0].length > 0) {return {code: 200,msg: "success",data: result[0][0],};} else {return {code: 500,msg: "账号或密码错误!",data: null,};}} catch (err) {return {code: 500,msg: "error",data: err,};}});}export default routes;


http://www.ppmy.cn/ops/135910.html

相关文章

容器运行时 AND Docker

容器运行时 and Docker 什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术…

【GAT】 代码详解 (1) 运行方法【pytorch】可运行版本

GRAPH ATTENTION NETWORKS 代码详解 前言0.引言1. 环境配置2. 代码的运行2.1 报错处理2.2 运行结果展示 3.总结 前言 在前文中,我们已经深入探讨了图卷积神经网络和图注意力网络的理论基础。还没看的同学点这里补习下。接下来,将开启一个新的阶段&#…

国产三维CAD 2025新动向:推进MBD模式,联通企业设计-制造数据

本文为CAD芯智库原创整理,未经允许请勿复制、转载! 上一篇文章阿芯分享了影响企业数字化转型的「MBD」是什么、对企业优化产品设计流程有何价值——这也是国产三维CAD软件中望3D 2024发布会上,胡其登先生(中望软件产品规划与GTM中…

单片机进阶硬件部分_day2_项目实践

设计要求 从绘制原理图到画PCB板,完成智能云衣柜项目 STM32 (Modbus)云IOT衣物云端管理 华为PCB布线规范 基于IoT的智享家主控系统 步骤分析 需求分析 器件选型绘制原理图(器件连接)PCB布局、布线泪滴、铺铜、添加丝印…

Scala的Array和ArrayBuffer集合及多维数组

ArrayBuffer是一个可变的序列集合,它可以通过添加和删除元素来动态改变其大小。它可以用于代替传统的数组,提供更多的操作和灵活性特点: 动态大小:ArrayBuffer的大小可以根据需要进行自动调整,因此它可以包含任意数量…

跨平台WPF框架Avalonia教程 十四

DataGrid 数据表格 数据表格以自定义的网格形式展示重复的数据。该控件可以进行样式定制、模板化和绑定。 数据表格需要绑定到一个可观察的集合(Observable Collection),该集合可以在相关的数据上下文中找到。 信息 要了解数据上下文背后…

C# 面向对象的接口

接口,多态性,密封类 C# 接口 遥控器是观众和电视之间的接口。 它是此电子设备的接口。 外交礼仪指导外交领域的所有活动。 道路规则是驾车者,骑自行车者和行人必须遵守的规则。 编程中的接口类似于前面的示例。 接口是: APIsC…

资产管理运营系统mobilefront2前台文件上传漏洞

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…