前言
Hapi 是一款 Node.js 的 Web 框架,它的特点是易于使用、可扩展、高效稳定。在实际开发中,我们经常需要使用数据库来存储数据,而 sqlite3 是一款轻量级的关系型数据库,它的部署和使用相对简单,适合用于一些小型应用的开发。本文将介绍在 Hapi 框架中如何部署 sqlite3 数据库,并提供相关示例代码。
安装 sqlite3
在使用 sqlite3 数据库之前,我们需要先安装它。可以通过以下命令在项目中安装 sqlite3:
npm install sqlite3 --save
配置数据库连接
在使用 sqlite3 数据库之前,我们需要先配置数据库连接。可以在项目的配置文件中添加以下代码来配置数据库连接:
// javascriptcn.com 代码示例 const Hapi = require('@hapi/hapi'); const sqlite3 = require('sqlite3').verbose(); const server = Hapi.server({ port: 3000, host: 'localhost' }); const db = new sqlite3.Database('./mydb.db', (err) => { if (err) { console.error(err.message); } else { console.log('Connected to the database.'); } }); server.app.db = db;
以上代码中,我们首先引入了 Hapi 和 sqlite3 模块,然后创建了一个 Hapi 服务器并指定了端口和主机名。接着,我们创建了一个 sqlite3 数据库实例,并连接到了 mydb.db 数据库文件。最后,我们将数据库实例添加到了 Hapi 服务器的 app 属性中,以便在后续的路由处理中使用。
创建数据表
在 sqlite3 数据库中,我们可以使用 SQL 语句来创建数据表。可以在项目中添加以下代码来创建一个名为 users 的数据表:
db.run(`CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL UNIQUE, password TEXT NOT NULL )`);
以上代码中,我们使用了 SQL 语句来创建了一个名为 users 的数据表,并定义了 id、name、email、password 四个字段。其中,id 字段为主键,并自动增长;name、email、password 字段分别为文本类型,并分别设置了 NOT NULL、UNIQUE 约束。
插入数据
在 sqlite3 数据库中,我们可以使用 SQL 语句来插入数据。可以在项目中添加以下代码来向 users 数据表中插入一条记录:
db.run(`INSERT INTO users (name, email, password) VALUES (?, ?, ?)`, ['John Doe', 'john@example.com', 'password']);
以上代码中,我们使用了 SQL 语句来向 users 数据表中插入了一条记录,并指定了 name、email、password 三个字段的值。其中,name 字段的值为 John Doe,email 字段的值为 john@example.com,password 字段的值为 password。为了避免 SQL 注入攻击,我们使用了参数化查询的方式来插入数据。
查询数据
在 sqlite3 数据库中,我们可以使用 SQL 语句来查询数据。可以在项目中添加以下代码来查询 users 数据表中的所有记录:
db.all(`SELECT * FROM users`, (err, rows) => { if (err) { console.error(err.message); } else { console.log(rows); } });
以上代码中,我们使用了 SQL 语句来查询了 users 数据表中的所有记录,并使用了回调函数来处理查询结果。如果查询出错,则打印错误信息;否则打印查询结果。
更新数据
在 sqlite3 数据库中,我们可以使用 SQL 语句来更新数据。可以在项目中添加以下代码来更新 users 数据表中的一条记录:
db.run(`UPDATE users SET name = ?, email = ?, password = ? WHERE id = ?`, ['Jane Doe', 'jane@example.com', 'newpassword', 1]);
以上代码中,我们使用了 SQL 语句来更新了 users 数据表中的一条记录,并指定了要更新的字段和对应的值。其中,name 字段的值被更新为 Jane Doe,email 字段的值被更新为 jane@example.com,password 字段的值被更新为 newpassword,id 字段的值为 1。
删除数据
在 sqlite3 数据库中,我们可以使用 SQL 语句来删除数据。可以在项目中添加以下代码来删除 users 数据表中的一条记录:
db.run(`DELETE FROM users WHERE id = ?`, [1]);
以上代码中,我们使用了 SQL 语句来删除了 users 数据表中的一条记录,并指定了要删除的记录的 id 值为 1。
总结
本文介绍了在 Hapi 框架中部署 sqlite3 数据库的方法,并提供了相关示例代码。通过本文的学习,读者可以了解到如何在 Hapi 框架中使用 sqlite3 数据库来存储和操作数据。同时,本文也提供了一些 SQL 语句的示例代码,方便读者在实际开发中使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/650a9f4a95b1f8cacd4f94a1