npm 包 @brunnerlivio/typeorm 使用教程

阅读时长 7 分钟读完

前言:本文主要介绍 npm 包 @brunnerlivio/typeorm 的使用,针对初学者和有一定经验的前端开发人员,详细介绍了 typeorm 的基本特性、使用教程和示例代码。

什么是 TypeORM?

TypeORM 是一个 TypeScript 和 JavaScript 的 ORM 框架,用于 Node.js 和浏览器。它集成了许多数据库,MySQL、MariaDB、PostgreSQL、CockroachDB、SQLite 等,是一个强大的数据库管理工具。

TypeORM 具有以下主要特点:

  • 支持多种数据库:MySQL、MariaDB、PostgreSQL、SQLite、MS SQL Server、Oracle、SAP Hana 等。
  • 支持 TypeScript 和 JavaScript。
  • 支持对象关系映射(ORM)和数据访问层(Data Mapper)模式。
  • 支持实体(Entity)、仓库(Repository)、查询生成器(Query Builder)等常见功能。
  • 支持事务(Transaction)和乐观锁(Optimistic Lock)等高级特性。

安装 TypeORM

TypeORM 是一个 npm 包,可以通过以下方式进行安装:

使用 TypeORM

创建实体(Entity)

实体是数据库中的表格或实体,使用实体可以实现对数据库表的 CRUD 操作。使用 TypeORM 创建一个示例实体:

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

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

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

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

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

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

-

上述示例代码定义了一个名为 User 的实体,包含主键 id 和三个属性:firstName、lastName 和 age。

创建仓库(Repository)

使用 Entity 创建了实体类之后,还需要为其创建一个 Repository,该仓库将实体与数据库进行映射,以便进行 CRUD 操作。使用 TypeORM 创建一个示例仓库:

上述示例代码定义了一个名为 UserRepository 的仓库类,该仓库使用实体 User 进行操作。

连接数据库

TypeORM 支持多种数据库,不同的数据库的连接正如不同的代码框架不同的开关连接一样,连接功能本身并不由 TypeORM 负责,它只是提供了许多可用的库,方便我们与数据库进行连接。

以下代码为 TypeORM 连接 Postgres 数据库:

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

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

查询数据

TypeORM 提供了多种方法用于查询数据库中的数据,以下代码通过 UserRepository 对数据库进行查询:

上述代码通过 UserRepository 查询了 User 实体的所有数据,使用 find() 方法返回一个 Promise,Promise 成功时将返回匹配的实体数组。

插入数据

TypeORM 提供了多种方法用于向数据库中插入数据,以下代码通过 UserRepository 向数据库中插入一个 User 实体:

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

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

上述代码使用 save() 方法将一个 User 实体保存到数据库。

更新数据

TypeORM 提供了多种方法用于更新数据库中的数据,以下代码通过 UserRepository 更新一个 User 实体:

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

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

上述代码使用 update() 方法将一个 User 实体更新到数据库。

删除数据

TypeORM 提供了多种方法用于从数据库中删除数据,以下代码通过 UserRepository 删除一个 User 实体:

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

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

上述代码使用 delete() 方法将一个 User 实体从数据库中删除。

总结

TypeORM 提供了强大的 ORM 功能,支持多种数据库和多种查询方式,使用起来非常灵活方便。本文介绍了 TypeORM 的基本特性、使用教程和示例代码,希望对读者在前端开发中使用 TypeORM 有所帮助。

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