简介
Hapi 是一个 Node.js 的 Web 框架,它的路由、插件、配置等都非常易于使用和管理。在构建 Web 应用时,常常需要使用数据库来存储数据。本文将介绍如何在 Hapi 中使用 MySQL 存储数据。
安装 MySQL
在开始之前,需要先安装 MySQL。这里以 macOS 上的 Homebrew 为例:
brew install mysql
安装好之后,可以通过以下命令启动 MySQL:
brew services start mysql
安装必要的依赖
在 Hapi 中,需要使用 hapijs/hapi
包和 mysql
包。可以使用 npm 安装:
npm install hapi mysql
创建数据库连接
在使用 MySQL 前,需要先创建数据库连接。可以使用 mysql
包的 createConnection
方法:
-- -------------------- ---- ------- ----- ----- - ----------------- ----- ---------- - ------------------------ ----- ------------ ----- ------- --------- ----------- --------- ------ --- ------------------------ -- - -- ----- ----- ---- ------------------ ------------- ---
创建数据表
创建数据表可以通过 SQL 命令实现。以下示例代码创建一个名为 users
的数据表:
connection.query('CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255), email VARCHAR(255), password VARCHAR(255));', (err, results) => { if (err) throw err; console.log('Table created!'); });
插入数据
在 Hapi 中,可以通过路由的 handler
方法来插入数据。以下示例代码插入一条数据,并返回插入的 ID:
-- -------------------- ---- ------- -------------- ------- ------- ----- --------- -------- --------- -- -- - ----- - --------- ------ -------- - - ---------------- ------------------------ ---- ----- ---------- ------ --------- ------ --- -- ---- ---------- ------ ---------- ----- -------- -- - -- ----- ----- ---- ------ - --- ---------------- -- --- - ---
查询数据
以下示例代码返回所有的用户信息:
-- -------------------- ---- ------- -------------- ------- ------ ----- --------- -------- --------- -- -- - ------------------------ - ---- ------- ----- -------- -- - -- ----- ----- ---- ------ -------- --- - ---
更新数据
以下示例代码根据 ID 更新用户信息:
-- -------------------- ---- ------- -------------- ------- ------ ----- -------------- -------- --------- -- -- - ----- - --------- ------ -------- - - ---------------- ----- - -- - - --------------- ------------------------ ----- --- -------- - -- ----- - -- -------- - - ----- -- - --- ---------- ------ --------- ---- ----- -------- -- - -- ----- ----- ---- ------ - -------- ----- --------- -- --- - ---
删除数据
以下示例代码根据 ID 删除用户:
-- -------------------- ---- ------- -------------- ------- --------- ----- -------------- -------- --------- -- -- - ----- - -- - - --------------- ------------------------ ---- ----- ----- -- - --- ----- ----- -------- -- - -- ----- ----- ---- ------ - -------- ----- --------- -- --- - ---
统一异常处理
在实际开发中,可能会遇到数据库连接失败、SQL 语句错误等异常情况。为了保证代码健壮性,可以使用 Hapi 的 onPreResponse
钩子函数统一处理异常:
-- -------------------- ---- ------- --------------------------- --------- -- -- - ----- -------- - ----------------- -- ----------------- - -- -------- ---------- ------ -- --------------------------- --- --- -- ---------------- --- --- -------- ------ ----- ---------- - ------ ------------ -------- --------- ---------- -------- ------------------------------------ - ---- - ------ --------------------------------------------------------------------- - - ------ ----------- ---
总结
本文介绍了如何在 Hapi 中使用 MySQL 存储数据,具体包括创建数据库连接、创建数据表、增删查改等操作。同时,还介绍了如何使用 Hapi 的 onPreResponse
钩子函数统一处理异常。通过本文的学习,相信读者可以在实际项目中运用 Hapi 和 MySQL 实现数据存储功能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645a0799968c7c53b0c26e21