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

阅读时长 6 分钟读完

在 Deno 中使用 TypeORM 进行 ORM 操作可以帮助我们更方便地管理数据库,提高开发效率。本文将介绍如何在 Deno 中使用 TypeORM 实现数据库的增删改查操作。

安装 TypeORM

首先需要安装 TypeORM:

配置数据库

在进行 ORM 操作之前,需要配置数据库连接。创建 ormconfig.json 文件,并填写相应的信息:

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

其中:

  • type:指定数据库类型。TypeORM 支持的数据库类型包括 MySQL、PostgreSQL、SQLite 等。
  • host:指定数据库服务器地址。
  • port:指定数据库服务器端口。
  • username:指定连接数据库的用户名。
  • password:指定连接数据库的密码。
  • database:指定连接的数据库名称。
  • synchronize:是否自动同步数据库结构。设置为 true 表示启用,会在程序启动时自动同步数据库结构。
  • entities:指定实体类所在的路径,TypeORM 会根据这个路径扫描实体类并映射到数据库中。

创建实体类

在使用 TypeORM 进行 ORM 操作前,需要先创建实体类。实体类是一个普通的 TypeScript 类,用于映射数据库中的表结构。下面是一个简单的实体类示例:

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

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

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

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

实体类使用了 @Entity 注解来标识该类为映射的实体,使用 @PrimaryGeneratedColumn@Column 注解来定义映射到数据库中的字段。

实现增删改查操作

创建好实体类后,就可以使用 TypeORM 进行增删改查操作了。

创建实体

创建实体(即往数据库中插入一条数据)可以使用实体管理器实现:

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

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

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

首先调用 createConnection 方法来创建一个数据库连接。然后使用 new 关键字创建一个新的 User 实体,并设置相应的属性值。接着通过 connection.getRepository 方法获取 UserRepository 对象,最后使用 userRepository.save 方法将实体保存到数据库中。

查询实体

查询实体可以使用实体管理器的 findfindOne 方法。例如:

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

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

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

使用 userRepository.find() 方法可以查询所有实体,使用 userRepository.findOne(1) 方法可以查询 ID 为 1 的实体。

更新实体

更新实体可以使用实体管理器的 update 方法:

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

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

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

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

使用 userRepository.findOne 方法查找需要更新的实体,然后修改实体的属性值,并将修改后的实体通过 userRepository.update 方法保存到数据库中。

删除实体

删除实体可以使用实体管理器的 delete 方法:

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

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

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

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

使用 userRepository.findOne 方法查找需要删除的实体,然后通过 userRepository.delete 方法删除实体。删除后再查询该实体将返回 undefined

总结

以上是在 Deno 中使用 TypeORM 进行 ORM 操作的详细介绍。通过本文的学习,读者可以了解到如何安装 TypeORM、配置数据库连接、创建实体类,以及如何使用 TypeORM 进行增删改查操作。希望本文对读者有所帮助。

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

纠错
反馈