Node.js 中如何使用 TypeORM 进行 ORM 映射

阅读时长 6 分钟读完

前言

在 Node.js 中使用 ORM(Object-Relational Mapping,对象关系映射)框架,可以让我们更方便地操作数据库,避免直接操作 SQL 语句带来的繁琐和安全问题。TypeORM 是一个基于 TypeScript 的 ORM 框架,支持多种数据库,如 MySQL、PostgreSQL、SQLite、MariaDB、MongoDB 等。本文将介绍如何在 Node.js 中使用 TypeORM 进行 ORM 映射。

安装

首先,我们需要安装 TypeORM 和对应的数据库驱动。以 MySQL 为例:

配置

在使用 TypeORM 之前,我们需要进行一些配置。在项目根目录下创建一个 ormconfig.json 文件,用于存放数据库连接信息和 TypeORM 的配置。

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

其中,type 表示数据库类型,hostport 表示数据库连接地址和端口号,usernamepassword 表示数据库登录信息,database 表示要连接的数据库名。synchronize 表示是否自动同步数据库结构,logging 表示是否输出 TypeORM 的日志信息。entitiesmigrationssubscribers 分别表示实体类、迁移脚本和事件订阅器所在的目录。

实体类

在 TypeORM 中,我们需要创建实体类来映射数据库表。实体类需要使用 @Entity 装饰器进行修饰,同时需要使用 @Column 装饰器修饰实体类的属性。

以用户表为例,创建一个 User 实体类:

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

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

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

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

其中,@PrimaryGeneratedColumn 表示主键,@Column 表示普通字段。

数据库操作

在 TypeORM 中,我们可以使用 Repository 对象进行数据库操作。Repository 对象是实体类的管理器,负责实体类的增删改查等操作。

连接数据库

在进行数据库操作之前,我们需要先连接数据库。可以使用 createConnection 函数创建一个数据库连接,也可以使用 getConnection 函数获取一个已经存在的连接。

插入数据

使用 Repository 对象的 save 方法可以插入一条数据。

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

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

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

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

查询数据

使用 Repository 对象的 find 方法可以查询多条数据,使用 findOne 方法可以查询一条数据。

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

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

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

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

更新数据

使用 Repository 对象的 save 方法可以更新一条数据。

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

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

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

删除数据

使用 Repository 对象的 delete 方法可以删除一条数据。

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

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

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

总结

本文介绍了在 Node.js 中使用 TypeORM 进行 ORM 映射的方法,包括安装、配置、实体类的创建和数据库操作的增删改查等。TypeORM 提供了一种更加方便和安全的方式来操作数据库,可以提高开发效率和代码的可维护性。

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

纠错
反馈