如何在 Deno 中使用 TypeORM 进行 ORM 操作?

阅读时长 6 分钟读完

介绍

Deno 是一个新兴的运行时环境,它的目标是取代 Node.js。Deno 与 Node.js 不同之处在于,它使用安全的默认设置,支持 TypeScript,没有 npm,而是使用 URL 导入模块,还有许多其他功能。TypeORM 是一个流行的 TypeScript ORM(对象关系映射)框架,它可以帮助我们在应用程序中管理数据库。

在本文中,我们将了解如何在 Deno 中使用 TypeORM 进行 ORM 操作。我们将使用 SQLite 数据库作为示例数据库。

安装 Deno 和 TypeORM

首先,我们需要安装 Deno 和 TypeORM。您可以从 Deno 的官方网站(https://deno.land)下载 Deno,然后使用以下命令安装 TypeORM:

初始化项目

接下来,我们将创建一个新的 Deno 项目并初始化它:

配置 TypeORM

在项目的根目录中,我们需要创建一个名为 ormconfig.json 的文件来配置 TypeORM。这个文件告诉 TypeORM 如何连接到数据库,并设置其他选项。以下是一个示例 ormconfig.json 文件:

-- -------------------- ---- -------
-
  ------- ---------
  ----------- ------------------
  -------------- -----
  ---------- -----
  ----------- -------------------------
  ------------- ---------------------------
  -------------- ---------------------------
-

在这个配置文件中,我们指定了 SQLite 数据库作为数据库类型,并将数据库文件保存在项目的根目录中的 database.sqlite 文件中。我们还设置了 synchronize 选项为 true,这将自动同步数据库模式和实体定义。我们还启用了日志记录,并指定了实体、迁移和订阅者的路径。

创建实体

在我们可以使用 TypeORM 进行 ORM 操作之前,我们需要定义实体。实体是代表数据库表的类。我们将创建一个名为 User 的实体,它将具有 id、username 和 password 属性。以下是我们的 User 实体类:

-- -------------------- ---- -------
------ - ------- ----------------------- ------ - ---- ----------

---------
------ ----- ---- -
  -------------------------
  --- -------

  ---------
  --------- -------

  ---------
  --------- -------
-

在这个类中,我们使用 TypeORM 提供的装饰器来定义实体和列。@Entity 装饰器将这个类标记为实体,并告诉 TypeORM 将其映射到数据库表。@PrimaryGeneratedColumn 装饰器将 id 列标记为主键,并指定它应该自动增长。@Column 装饰器将 username 和 password 列标记为普通列。

创建数据库连接

我们已经配置了 TypeORM 和定义了实体,现在我们需要创建一个数据库连接。我们将在 src/index.ts 文件中创建一个连接。以下是我们的代码:

-- -------------------- ---- -------
------ -------------------
------ - ---------------- - ---- ----------
------ - ---- - ---- ------------------

----- -------- ------ -
  ----- ---------- - ----- -------------------

  -- -- --- ---------- ----

  ----- -------------------
-

-------

在这个文件中,我们使用 TypeORM 提供的 createConnection 函数来创建一个数据库连接。我们还导入了 User 实体。在实际的应用程序中,我们将在此处执行 ORM 操作。

执行 ORM 操作

现在我们已经创建了数据库连接,我们可以执行 ORM 操作。以下是一些示例 ORM 操作:

插入数据

在这个示例中,我们创建了一个新的 User 对象,并将其保存到数据库中。我们使用 connection.manager.save 方法来保存对象。

查询数据

在这个示例中,我们使用 connection.manager.find 方法来查找所有 User 实体。这将返回一个 User 对象数组。

更新数据

在这个示例中,我们首先使用 connection.manager.findOne 方法来查找 id 为 1 的 User 对象。然后我们将 username 属性设置为 jane,并使用 connection.manager.save 方法来保存更改。

删除数据

在这个示例中,我们首先使用 connection.manager.findOne 方法来查找 id 为 1 的 User 对象。然后我们使用 connection.manager.remove 方法来删除该对象。

结论

在本文中,我们了解了如何在 Deno 中使用 TypeORM 进行 ORM 操作。我们首先安装了 Deno 和 TypeORM,然后初始化了一个项目,并配置了 TypeORM。我们定义了一个 User 实体,然后创建了一个数据库连接,并执行了一些示例 ORM 操作。这个示例项目可以作为入门指南,帮助您开始使用 Deno 和 TypeORM 进行 ORM 操作。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/675402361b963fe9cc4b89b1

纠错
反馈