Express 是一种常用的 Node.js Web 应用程序框架,它让我们可以快速构建 Web 应用。而在实际应用中,通常需要使用数据库来存储数据和操作数据。MySQL 是一个流行的关系型数据库管理系统。那么,如何使用 Express 来连接 MySQL 数据库呢?
首先,在你的项目中安装 MySQL Node.js 驱动程序,例如 mysql2,安装方法如下:
npm install mysql2
其中,MySQL 驱动程序的版本需要与你的 MySQL 数据库版本相对应。接下来,创建一个数据库连接池,这样可以在多次数据库查询中共享一个数据库连接。
const mysql = require('mysql2');const pool = mysql.createPool({host: 'localhost',user: 'root',database: 'test',password: 'password'});module.exports = pool;
在上面的代码中,我们通过 mysql.createPool 方法创建了一个 MySQL 数据库连接池,并导出它。
下一步,可以在路由中使用数据库连接池以执行查询。在下面的示例中,我们使用 async/await 来等待查询结果,然后将其作为响应发送回客户端。
const express = require('express');const router = express.Router();const pool = require('../mysql2-pool');router.get('/', async (req, res, next) =>{try {const query = 'SELECT * FROM test';const [rows, fields] = await pool.query(query);res.send(rows);} catch (err) {console.log(err);res.send(err);}});module.exports = router;
在上面的代码中,我们首先导入 Express 和 mysql2 数据库连接池。然后,创建了一个名为 router 的路由对象,并使用路由对象创建了一个 GET 路由,它使用 await 将查询结果等待。在查询成功后,将结果作为响应发送回客户端。如果出现错误,将错误打印到控制台并将其作为响应发送回客户端。
这就是使用 Express 连接 MySQL 数据库的基本过程。正如你所看到的,使用 MySQL 数据库非常简单,而且在 Express 应用程序中进行查询和操作时,使用连接池可以提高效率和性能。