koa2 从0使用mysql2做第一个接口

news2024/12/25 9:20:58
  1. 全局安装Koa命令行工具:

npm install -g @koa/cli

2. 创建新项目:

koa new my-app

这将生成如下目录结构:

my-app ├── app.js ├── package.json └── src └── index.js

3. 安装依赖:

cd my-app npm install

4. 启动项目:

npm start

5.安装mysql2

yarn add mysql2

6.创建配置mysql连接池文件

const mysql = require('mysql2/promise');



//创建连接池

const pool = mysql.createPool({

    host: '',

    user: '',

    password: ',

    database: '

})



//查询方法

const query = async (sql,values) => {

    let connection;

    try {

        connection = await pool.getConnection();

        const [results,fields] = await connection.execute(sql,values);



        return {

            status : 200,

            results

        };

    } catch (err) {

        throw err;

    } finally {

        connection.release();

    }

}



module.exports = { query }

7.在routes下面的文件使用:

const { query } = require('../config/mysql');

var router = require('koa-router')();

router.get('/swiper' , async ctx => {
    const res = await query(`SELECT * FROM swiper`);
    ctx.body = res.results
})

module.exports = router;

8.在postman中请求

9.返回结果

 

 

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

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

相关文章

升级JDK17问题记录

1. 放开标准库的模块访问限制 Jdk9模块后, 有些类访问, 需要通过如下配置打开访问权限 --add-opensjava.base/jdk.internal.miscALL-UNNAMED --add-opensjava.base/java.langALL-UNNAMED --add-opensjava.base/java.utilALL-UNNAMED --add-opensjava.base/java.lang.refle…

加载数据集

批量梯度下降法(Batch Gradient Descent,BGD):在更新参数时,BGD根据batch中的所有样本对参数进行更新。(计算速度快) 随机梯度下降法(Stochastic Gradient Descent,SGD&…

实训笔记7.21

实训笔记7.21 7.21一、MapReduce编程代码的打包问题与大数据集群环境中运行问题1.1 MR程序在运行的时候,job提交作业的时候会自动识别我们的运行环境,如果我们是在windows本地运行的话,MR程序识别的环境未LocalRunner这么一个环境&#xff0c…

王道考研数据结构--4.2循环队列

目录 前言 1.循环队列的定义 2.循环队列的结构 3.循环队列的操作 3.1定义循环队列 3.2初始化 3.3入队 3.4出队 3.5遍历,求表长 3.6清空销毁 4.完整代码 前言 日期:2023.7.25 书籍:2024年数据结构考研复习指导(王道考研…

MySQL 中一条 SQL 的查询与更新

MySQL 中一条 SQL 的查询与更新 1 SQL 的查询1.1 MySQL 的逻辑架构图1.2 连接器1.3 查询缓存1.4 分析器1.5 优化器1.6 执行器 2 SQL 的更新2.1 redo log(重做日志)2.2 binlog(归档日志)2.3 redo log 和 binlog 日志的差异2.4 示例…

【Java SE】类和对象

目录 【1】面向对象的初步认识 【1.1】什么是面向对象 【1.2】面向对象与面向过程 【2】类定义和使用 【2.1】简单认识类 【2.2】类的定义格式 【2.3】练习 【2.3.1】定义一个狗类 【2.3.2】定义一个学生类 【3】类的实例化 【3.1】什么是实例化 【3.2】类和对象的…

Acwing.282 石子合并(动态规划)

题目 设有N堆沙子排成一排,其编号为1,2,3,…,N。 每堆沙子有一定的质量,可以用一个整数来描述,现在要将这N堆沙子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆沙子的…

应用层协议——http

文章目录 1. HTTP协议1.1 认识URL1.2 urlencode和urldecode1.3 HTTP协议格式1.3.1 HTTP请求1.3.2 HTTP响应1.3.3 外网测试1.3.4 添加html文件1.3.5 HTTP常见Header1.3.6 GET和POST 1.4 HTTP的状态码1.4.1 301和3021.4.2 代码实现 1.5 Cookie1.5.1 代码验证1.5.2 Cookiesession …

【Nodejs】Puppeteer\爬虫实践

puppeteer 文档:puppeteer.js中文文档|puppeteerjs中文网|puppeteer爬虫教程 Puppeteer本身依赖6.4以上的Node,但是为了异步超级好用的async/await,推荐使用7.6版本以上的Node。另外headless Chrome本身对服务器依赖的库的版本要求比较高,c…

海外网红营销合作指南:详解海外合同与协议要点

随着互联网的发展和社交媒体的普及,海外网红营销成为了品牌推广和营销的重要力量。然而,这种跨国合作需要谨慎考虑,签订合适的合同与协议显得尤为重要,以确保各方权益得到保障并促进合作的顺利进行。本文Nox聚星将详细介绍与海外网…

Stable Diffusion - 扩展 Segment Anything 和 GroundingDINO 实例分割算法 插件的配置与使用

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/131918652 Paper and GitHub: Segment Anything: SAM - Segment Anything GitHub: https://github.com/facebookresearch/s…

学习机器视觉要点:

图像采集:了解镜头、光源、相机选型,打光对图像质量的重要性。 图像处理:掌握压缩、增强、匹配、识别等图像处理技术,包括滤波、连通域、腐蚀膨胀等基本操作。 矩视智能低代码平台:使用该平台进行快速开发&#xff0…

mac电脑强大的解压缩软件BetterZip 5.3.4 for Mac中文版及betterzip怎么压缩

BetterZip 5.3.4 for Mac 是Mac系统平台上一款功能强大的文件解压缩软件,不必解压就能快速地检查压缩文档。它能执行文件之间的合并并提供密码。使用它,用户可以更快捷的向压缩文件中添加和删除文件。它支持包括zip、gz、bz、bz2、tar、tgz、tbz、rar、7…

华为数通HCIA-数通网络基础

基础概念 通信:两个实体之间进行信息交流 数据通信:网络设备之间进行的通信 计算机网络:实现网络设备之间进行数据通信的媒介 园区网络(企业网络)/私网/内网:用于实现园区内部互通,并且需要部…

Python实现人脸识别功能

Python实现人脸识别功能 闲来没事,记录一下前几天学习的人脸识别小项目。 要想实现人脸识别,我们首先要搞明白,人脸识别主要分为哪些步骤?为了提高人脸识别的准确性,我们首先要把图像或视频中的人脸检测出来&#xf…

Linux入门 系统编程三 嵌入式开发 使用gcc制作静态库动态库,及调用库头文件应用

一、静态库的制作与使用 生成静态的主要是有5个步骤 1、编写源代码 2、将要编译成库的源文件编译成.o文件 3、使用ar命令创建静态库 4、调用库 5、测试 静态库的命名规则:lib开头。.a结尾。lib和.a中间的称作库名。lib库名称作库文件名 1.1 先写两个测试程序&…

《论文阅读》具有特殊Token和轮级注意力的层级对话理解 ICLR 2023

《论文阅读》具有特殊Token和轮级注意力的层级对话理解 前言简介问题定义模型构建知识点Intra-turn ModelingInter-turn Modeling分类前言 你是否也对于理解论文存在困惑? 你是否也像我之前搜索论文解读,得到只是中文翻译的解读后感到失望? 小白如何从零读懂论文?和我一…

用OpenCV图像处理技巧之巧用直方图

1. 引言 欢迎回到我的Python图像处理系列!在这一节中,我们将更深入地研究图像分析领域中图像直方图的应用,事实上通过对直方图进行相应操作,我们可以来调整图像的对比度和亮度,这可以极大地改善图像的视觉效果。 闲话…

vue脚手架文件说明

vue脚手架文件说明 1、文件介绍2、脚手架里面主要文件和作用 1、文件介绍 2、脚手架里面主要文件和作用 node_modules 都是下载的第三方包public/index.html 浏览器运行的网页src/main.js webpack打包的入口src/APP.vue Vue页面入口package.json 依赖包列表文件

Tangible Software Solutions Crack

Tangible Software Solutions Crack 有形软件解决方案-最准确可靠的源代码转换器,在VB.NET、C#、Java、C和Python之间进行转换,同时节省了无数小时的艰苦工作和宝贵的时间。 主要优点: 节省宝贵时间 准确全面 安全-您的代码永远不会离开您的机…