前言
Deno 是一种新的 JavaScript/TypeScript 运行时环境,它在安全性和开发体验上提供了很多改进。TypeORM 是一个流行的对象关系映射(ORM)库,它支持多个关系型数据库,并提供了强大的查询构建器和迁移工具。在这篇文章中,我们将探讨如何在 Deno 中使用 TypeORM 进行数据库交互。
安装 Deno 和 TypeORM
首先,我们需要安装 Deno 和 TypeORM。请前往 Deno 的官方网站(https://deno.land/)并按照指示安装 Deno。接下来,我们可以使用 Deno 提供的模块管理器在项目中安装 TypeORM。打开您的终端并输入以下命令:
- ---- ------- ------------ ------------- ----------- -- ------- ----------------------------------
这个命令将在您的电脑上安装 TypeORM 并将其作为 typeorm
可执行文件。请注意,我们在命令中包括了 --allow-read
、--allow-write
和 --allow-net
权限,这些权限允许 TypeORM 读写文件和进行网络通信。
创建数据库和表
在这个例子中,我们将使用 SQLite 作为我们的数据库。在这个示例中,我们将创建一个名为 example.db
的 SQLite 数据库,并创建一个包含 users
表的数据模型。
创建一个名为 example.db
的 SQLite 数据库:
- ----- ----------
创建一个 User
模型:
-- ------- ------ - ------- ------- ---------------------- - ---- ------------------------------------- --------- ------ ----- ---- - ------------------------- ---- ------- --------- ---------- ------- --------- ---------- ------- -
这个 User
模型定义了一个包含 id
、username
和 password
字段的表。
接下来,我们需要安装 SQLite3 驱动程序。在终端中输入以下命令:
- ---- ------- ------------ ------------- ----------- ---------- -- ------- ---------------------------------
现在,我们已经准备好连接到 SQLite 数据库并创建 users
表。在 index.ts
文件中,我们将创建一个 connect()
函数,使用 TypeORM 来连接到数据库并创建 users
表。
-- -------- ------ - ---------------- - ---- ------------------------------------- ------ - ---- - ---- ------------ ----- -------- --------- - ----- ---------- - ----- ------------------ ----- --------- --------- ------------- --------- ------- ------------ ----- --- ---------------------- -- ----------- -- ------ ---- ----- ----- ----- - --- ------- -------------- - -------- -------------- - ------ ----- ----- - --- ------- -------------- - ------ -------------- - ------ ----- ------------------------------- -------- --------------------- ----- ---- ----------- -- ---- --- ----- ----- -------- - ----- ------------------------------ ---------------- ----- ---- --------- -- ---------- - ----- ----------
注意,我们在连接选项中指定了 SQLite 数据库的类型和名称,并指定了 User
模型作为 entities
配置选项的一部分。我们还将 synchronize
选项设置为 true
,这将自动同步我们的模型定义和数据库表结构。
现在,如果我们运行 deno run --allow-read --allow-write --allow-net index.ts
,我们会看到输出。
--------- -- -------- -------- ----- ---- -------- --- ----- ---- --------- - ---- - --- -- --------- -------- --------- ----- -- ---- - --- -- --------- ------ --------- ----- - -
查询数据
现在我们已经连接到数据库并创建了一些用户,让我们看看如何查询这些用户。
使用 createConnection()
函数创建连接后,我们可以使用 connection.manager
属性来执行查询。
查询所有的用户:
----- -------- - ----- ------------------------------ ---------------- ----- ---- --------- -- ----------
按条件查询数据:
----- ----- - ----- -------------------------------- - --------- ------- --- ------------------- -- ------- ----- --- - ----- -------------------------------- - --------- ----- --- ----------------- -- -----
使用原始 SQL 进行查询:
----- ----- - ----- -------------------------------- - ---- ----- ----- -------- ---- --- --------- ---------------- ----- ---------- ---- -- -------
更新数据
我们可以使用 manager.save()
方法更新现有实体。例如,假设我们想要更新 user1
的密码:
-------------- - ---- ---------- ----- -------------------------------
删除数据
我们可以使用 manager.remove()
方法从数据库中删除实体。例如,假设我们想要删除 user1
:
----- ---------------------------------
或删除所有用户:
----- ------------------------------- ----
总结
在这篇文章中,我们学习了如何在 Deno 中使用 TypeORM 进行数据库交互。我们创建了一个 SQLite 数据库并创建了一个包含 users
表的数据模型。我们使用了 TypeORM 的管理器来执行查询、更新和删除操作。希望这篇文章对您有所帮助!
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64ae9b0a48841e9894ac4dda