如何在 TypeScript 中使用 TypeORM 进行数据持久化

阅读时长 7 分钟读完

前言

TypeORM 是一个高度可扩展的对象关系映射器(ORM),它支持 TypeScript 和 JavaScript。它是一个开源项目,可以帮助开发人员更轻松地访问数据库。在本文中,我们将学习如何在 TypeScript 中使用 TypeORM 进行数据持久化。

安装 TypeORM

首先,我们需要在项目中安装 TypeORM。可以使用以下命令进行安装:

这里我们还需要安装 reflect-metadata,因为 TypeORM 使用了装饰器来实现一些功能,而 reflect-metadata 可以让 TypeScript 在编译时生成这些装饰器所需要的元数据。

配置 TypeORM

在使用 TypeORM 之前,我们需要进行一些配置。我们需要创建一个 ormconfig.json 文件,并在其中指定数据库的连接信息。例如:

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

在这个配置文件中,我们指定了数据库的连接信息,以及 TypeORM 应该在哪些实体类中查找数据库表的映射关系。我们还设置了 synchronize 选项为 true,这将自动创建数据库表和字段。

创建实体类

在 TypeORM 中,实体类是与数据库表对应的类。我们需要为每个表创建一个实体类。例如,如果我们有一个 users 表,我们可以创建一个 User 实体类:

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

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

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

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

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

在这个实体类中,我们使用了装饰器来指定每个属性对应的数据库字段。@PrimaryGeneratedColumn() 装饰器表示这个字段是主键,@Column() 装饰器表示这个字段是普通字段。

使用 TypeORM 进行数据操作

现在我们已经配置好了 TypeORM,并创建了实体类,我们可以使用 TypeORM 进行数据操作了。我们可以使用 Repository 对象来进行增删改查操作。例如,我们可以在 UserService 类中编写以下代码:

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

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

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

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

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

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

在这个 UserService 类中,我们使用了 getManager() 方法获取了一个 EntityManager 对象。EntityManager 对象可以用来进行各种数据操作。我们可以使用 save() 方法来保存一个实体对象到数据库中,使用 findOne() 方法来查找一个实体对象,使用 remove() 方法来删除一个实体对象,使用 find() 方法来查找多个实体对象。

示例代码

在这里,我们提供一个完整的示例代码,它演示了如何在 TypeScript 中使用 TypeORM 进行数据持久化:

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

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

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

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

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

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

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

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

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

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

在这个示例代码中,我们创建了一个 UserService 对象,并使用它进行了一些数据操作,包括创建用户、更新用户、获取用户、获取所有用户和删除用户。

总结

在本文中,我们学习了如何在 TypeScript 中使用 TypeORM 进行数据持久化。我们首先安装了 TypeORM,并进行了一些配置。然后,我们创建了实体类,并使用 Repository 对象进行了增删改查操作。最后,我们提供了一个完整的示例代码,演示了如何使用 TypeORM 进行数据操作。

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

纠错
反馈