在 Deno 中使用 TypeORM 操作数据库

阅读时长 7 分钟读完

前言

在 Deno 中进行后端开发已经逐渐变得流行。Den 这个新兴的 JavaScript 运行时,具有安全性、可维护性和性能等很多方面的优点。而 TypeORM 则是一个自我和生态效应都很不错的 ORM 框架。在本文中,将介绍如何使用 TypeORM 在 Deno 中进行数据库操作。

安装 TypeORM

在 Deno 中使用 TypeORM,首先需要在项目中安装 TypeORM。可以使用下面的命令:

连接数据库

使用 TypeORM 连接数据库的过程中,需要了解预定的连接配置。整个连接配置如下:

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

----- ------- ----------------- - -
  ----- --------
  ----- ------------
  ----- -----
  --------- -------
  --------- -----------
  --------- -----
  --------- ---
  ------------ -----
--
  • type: 数据库类型,可用的值包括 mysql、postgres、sqlite、oracle 等。
  • host: 数据库主机名或 IP 地址。
  • port: 数据库端口号。
  • usernamepassword: 登录数据库的用户名和密码。
  • database: 数据库的名称。
  • entities: 数据库实体类的路径,一般为文件名。
  • synchronize: 是否应根据实体同步数据库模式。

当上述的配置项填写准确后,TypeORM 的连接器 builder 就可以进行建立了,具体代码实现如下:

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

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

----------

实体

在 TypeORM 中,实体是映射到数据库表中的对象。这个过程可以通过编写装饰器来完成。以下是一个实体范例:

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

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

  ---------
  ------- -------
-
  • @Entity("users"):用于声明该类型的对象被映射到数据库中的哪个表(在这个例子中是 users)。
  • @PrimaryGeneratedColumn():声明该字段为主键并自动生成值。
  • @Column():声明该字段是数据库中的一列。

操作数据库

在 Deno 中,操作数据库有两种方式:原始 SQL 和 ORM。TypeORM 支持使用原始 SQL 进行 CRUD 操作:

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

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

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

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

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

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

TypeORM 还提供了一个更加易于使用且面向对象的处理模式。以下是一个使用 ORM 进行 CRUD 操作的例子:

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

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

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

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

----- ---- - --- -------
--------- - -------
---------- - -------------------
-----------------
------------
------------- ----- -------
--------------
  • getRepository(User):用于获取到关于 User 实体类的数据库仓库Repository
  • userRepository.save(user):用于保存新的用户对象。
  • userRepository.find():用于获取所有用户的数组。
  • userRepository.findOne(id):用于获取 id 指定的用户。

结论

通过阅读本文,我们已经深入了解了如何使用 TypeORM 在 Deno 中操作数据库。正如我们所看到的,TypeORM 提供了非常便捷的方式创建 ORM。它不仅提供了易学的 API,而且还处理了很多底层细节,例如事务管理、表的关联和联接等等。希望本文可以帮助到我 和每一个有需要的读者。

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

纠错
反馈