js 连接mysql_koa2+mysql实战

先附上源码地址:https://github.com/zj0715zh/koa2-mysql

有兴趣的可以下载看看,那么现在我们进入正题:

f855b5690004a039f2ed067494f83fff.png

什么是koa框架?

koa是一个基于node实现的一个新的web框架,它是由express框架的原班人马打造的。它的特点是优雅、简洁、表达力强、自由度高。它更express相比,它是一个更轻量的node框架,因为它所有功能都通过插件实现。

关于项目

此项目只是一个入门级的Demo,重在体现一个正常后台代码结构和基本功能。所以选择通过Koa2来实现MVC架构,主要包含Controller控制层和Service业务层。简单的说Controller 层主要对用户的请求参数进行处理(校验、转换),然后调用对应的 service 方法处理业务,得到业务结果后封装并返回。Service层就是在复杂业务场景下用于做业务逻辑封装的一个抽象层。

787fd0c5f63c0dbcce436b972c2e72a9.png

文件结构

下面是文件结构以及说明:

b2bbe97f315a43bfb64dc1eeba43e0f4.png

文件结构尽量模仿了MVC架构开发。核心代码就是Koa2目录下的五个文件

  • app.js 是整个koa2 的入口文件,注册了router和各种中间件。
  • config是数据库的配置文件,里面DBconfig.js来统一管理数据库的配置。
  • controller 文件夹MVC架构下的controller层router 文件夹来处理不同的路径请求,导入到对应的controller
  • service 文件夹是MVC的业务层,处理来自controller的数据,查询后数据库处理后返回处理后的数据
  • package.json 配置文件

安装以下依赖包:

  1. koa node框架
  2. koa-body 表单解析中间件
  3. koa-router 路由框架
  4. mysql 数据库
//通过npm安装以上依赖,例如 npm install koa koa-body koa-router mysql -S

项目配置

数据库配置

项目用的是Mysql数据库,运行之前请下载Mysql数据库。MySQL :: Download MySQL Installer

12895a1a689fb29aea90b7f0cab43e17.png

为了建表偷懒所以使用了Navicat可视化数据库管理工具,建表如下

8ea9e71fd50c4475a68d3888c577bf0a.png

也可以用下面sql代码建表。

CREATE TABLE `elm_user` (`elm_userID` int(10) NOT NULL ,`elm_userPhone` varchar(11) NOT NULL ,`elm_userPassword` varchar(30) NOT NULL ,PRIMARY KEY (`elm_userID`));

文件配置

mysql

//Koa2/config/DBcongfig.js/*数据库默认配置*/const database ={ database: 'elmfoodshop', //数据库名称 user: 'root', //mysql用户名 password: '123456', //mysql密码 PORT: '3306', //mysql端口号 host: "127.0.0.1" //服务器ip}module.exports = database//Koa2/lib/mysql.jsconst mysql = require("mysql")const DBConfig = require("../config/DBConfig")/*建立连接池*/let pool = mysql.createPool(DBConfig)/*连接数据库*/let allSqlAction = (sql, value) => { return new Promise((resolve, reject) => { pool.getConnection(function (err, connection) { if (err) { console.log(err) reject(err) } else { console.log("数据库连接成功") connection.query(sql, value, (err, row) => { if (err) reject(err) else{ resolve(row) }  connection.release() }) } }) })}module.exports = { allSqlAction}

Router配置

Router 主要用来描述请求 URL 和具体承担执行动作的 Controller 的对应关系。

通过userRoute.js把路由更加细化,把用户相关的对应的请求分流到不同的controller内

//Koa2/router/userRoute.jsconst Router =require("koa-router")const service = require ("../lib/mysql")const controller = require("../controller/userController")const router = new Router()router.post("login
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Koa2是一个基于Node.js的Web开发框架,而MySQL是一种关系型数据库管理系统。将它们结合起来,可以更方便地进行Web开发。 以下是Koa2和MySQL入门的基本步骤: 1. 安装Koa2和MySQL模块 使用npm安装koamysql模块: ``` npm install koa mysql ``` 2. 连接MySQL数据库 在应用程序中,需要连接MySQL数据库。可以使用以下代码: ``` const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'database_name' }); connection.connect(); ``` 其中,`host`是数据库服务器的地址,`user`是用户名,`password`是密码,`database`是要连接数据库名称。 3. 执行SQL查询 连接数据库后,可以执行SQL查询。以下是一个简单的查询示例: ``` connection.query('SELECT * FROM users', function (error, results, fields) { if (error) throw error; console.log(results); }); ``` 在这个示例中,使用`SELECT`语句从`users`表中检索所有行。查询结果将在控制台中打印出来。 4. 在Koa2中使用MySQLKoa2应用程序中,可以使用`koa-mysql`模块来更方便地使用MySQL。以下是一个简单的示例: ``` const Koa = require('koa'); const app = new Koa(); const mysql = require('koa-mysql'); app.use(async (ctx, next) => { const db = await mysql.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'database_name' }); const results = await db.query('SELECT * FROM users'); ctx.body = results; }); app.listen(3000); ``` 在这个示例中,使用`koa-mysql`模块创建一个MySQL连接池。然后,使用`query`方法从`users`表中检索所有行,并将结果作为响应主体发送给客户端。 这只是一个简单的入门示例。在实际应用中,可能需要更复杂的查询和数据操作。但是,通过这个入门示例,您应该已经了解了如何将Koa2和MySQL结合起来进行Web开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值