npm 包 typeorm 使用教程

阅读时长 6 分钟读完

介绍

TypeORM 是一个非常流行的 TypeScript 编写的 Object Relational Mapping (ORM) 框架,用来在 NodeJS 中操作 SQL 和 NoSQL 数据库,包括 MySQL、MariaDB、PostgreSQL、SQLite、MS SQL Server、Oracle、WebSQL 等。

TypeORM 具有良好的可扩展性和可定制性,能够轻松地适应各种不同的数据模型和数据访问需求。同时,TypeORM 还提供了丰富的文档和示例,便于开发者学习和使用。

在本文中,我们将详细介绍 TypeORM 的使用方法,并结合示例代码,帮助大家更好地理解和掌握这个优秀的 ORM 框架。

安装

首先,我们需要在项目中安装 TypeORM。使用 npm 命令即可完成安装:

安装成功后,我们需要在代码中引入 TypeORM 和相关的依赖:

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

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

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

数据库连接配置

在上面的示例代码中,我们创建了一个 MySQL 数据库连接。TypeORM 支持多种不同的数据库类型,可以根据自己的需要进行选择。例如,如果要连接 PostgreSQL 数据库,只需要将 type 参数设置为 "postgres",其他参数保持不变。

然后,我们指定了连接数据库的相关配置信息,包括数据库主机、端口、用户名、密码、数据库名称等。这些信息应该根据自己实际的情况进行修改。

在数据库连接配置中,我们还指定了一个 entities 属性,用来定义数据库实体类。实体类用来映射数据库表结构,是 TypeORM 的核心概念之一。在后面的示例代码中,我们将详细介绍如何定义和使用实体类。

最后,我们还设置了一些其他的配置参数,包括自动同步数据库结构(synchronize)和关闭日志输出(logging)等。这些参数也可以根据需要进行修改。

定义实体类

接下来,我们需要定义一个 User 实体类。示例代码如下:

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

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

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

在上面的代码中,我们使用 @Entity() 装饰器来表示这是一个数据库实体类。@PrimaryGeneratedColumn() 装饰器表示这是一个自动生成的主键列。@Column() 装饰器表示这是一个普通列。

在实体类中,我们可以定义多个列,以及各种关联关系。TypeORM 支持多种关联关系,包括一对一、一对多、多对多等。这些关联关系需要根据具体的业务需求进行定义和使用。

数据访问

在我们定义了数据库实体类后,就可以通过实体类来访问数据库了。TypeORM 提供了多种数据访问方式,包括:

  • 使用查询语言来手动编写 SQL 语句,然后通过 query 方法执行。
  • 使用 QueryBuilder 来编写类型安全的查询语句。
  • 使用 Repository 对象来进行增删改查等操作。

在接下来的示例代码中,我们将演示如何使用 Repository 对象进行增删改查等操作。

首先,我们需要获取一个实体类的 Repository 对象:

然后,就可以通过该 Repository 对象来进行增删改查等操作了。

新增数据

在上面的代码中,我们创建了一个新的 User 对象,并设置了其 name 属性。然后,使用 save 方法将该对象保存到数据库中。TypeORM 会自动将其转换为对应的 SQL 语句并执行。

查询数据

在上面的代码中,我们使用 find 方法来查询数据库中所有的 User 对象,并将其打印到控制台上。

修改数据

在上面的代码中,我们使用 findOne 方法来查询数据库中 id 为 1 的 User 对象,并将其 name 属性修改为 "new name"。然后,使用 save 方法将该对象保存回数据库中。

删除数据

在上面的代码中,我们使用 findOne 方法来查询数据库中 id 为 1 的 User 对象,并使用 remove 方法将其从数据库中删除。

总结

通过本文的介绍,大家应该已经了解了 TypeORM 的基本使用方法,以及如何定义实体类和进行数据访问等操作。

TypeORM 是一个非常强大和灵活的 ORM 框架,可以帮助开发者快速地进行数据模型和数据访问的开发。同时,TypeORM 也提供了丰富的文档和示例,方便大家学习和使用。如果您还没有尝试过 TypeORM,建议您在自己的项目中尝试使用一下。

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

纠错
反馈