Koa2 使用 mysql

Koa2 是一个基于 Node.js 的 Web 框架,它提供了一种简洁、高效、可靠的方式来构建 Web 应用程序。在开发 Web 应用程序的过程中,我们通常需要与数据库进行交互,这时候就可以使用 MySQL 数据库。

本文将介绍如何使用 Koa2 连接 MySQL 数据库,并进行增删改查等操作。

安装依赖

首先需要安装需要的依赖,我们需要安装 koa2koa-routermysql2 等。

npm install koa koa-router mysql2

连接 MySQL 数据库

在使用 MySQL 数据库前,需要先连接到数据库。

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

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'test',
});

connection.connect((err) => {
  if (err) {
    console.error('Error connecting to database: ', err);
  } else {
    console.log('Connection to database successful!');
  }
});

这里使用 mysql2/promise 表示我们要使用 Promise 标准操作 MySQL 数据库。

创建路由

接下来我们需要创建一个路由来处理请求。

const Router = require('koa-router');
const router = new Router();

router.get('/users', async (ctx) => {
  const [results] = await connection.query('SELECT * FROM users');
  ctx.body = results;
});

router.post('/users', async (ctx) => {
  const { name, age } = ctx.request.body;
  await connection.query(
    'INSERT INTO users (name, age) VALUES (?, ?)',
    [name, age]
  );
  ctx.body = { success: true };
});

// 更多路由...

这里我们创建了 GET 和 POST 两个路由来查询和添加用户。在 router.get 中,我们使用 connection.query 查询数据库中的用户信息,并将其返回给客户端。在 router.post 中,我们从请求体中获取用户的 name 和 age,并将其插入到数据库中。

使用中间件解析请求体

在前面的代码中,我们从请求体中获取了 name 和 age。为了能够解析请求体,我们需要使用中间件 koa-bodyparser

const Koa = require('koa');
const bodyParser = require('koa-bodyparser');
const app = new Koa();

app.use(bodyParser());

// 路由 ...

app.listen(3000, () => {
  console.log('Server started on port 3000');
});

这里使用了 koa-bodyparser 中间件来解析请求体。

总结

到这里,我们已经可以使用 Koa2 连接 MySQL 数据库,并进行增删改查等操作。这里只是一个简单的示例,实际上我们通常需要进行更复杂的操作,比如事务管理、连接池等。这些操作可以通过使用 mysql2/promise 提供的 API 来完成。

本文介绍的内容可以作为一个初学者入门 Koa2 和 MySQL 的参考。希望对你有所帮助!

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65a64778add4f0e0fff04f6a


纠错反馈