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 應用程序中進行查詢和操作時,使用連接池可以提高效率和性能。