Koa2 中使用 TypeORM 操作 MySQL 数据库

阅读时长 6 分钟读完

在现代化的 Web 应用程序中,数据库是一个必不可少的组成部分。在 Node.js 中,有很多优秀的库可以操作各种类型的数据库,其中 TypeORM 是一个值得推荐的库,它提供了一种更加简洁和优雅的方式来操作数据库。本文将介绍如何在 Koa2 中使用 TypeORM 操作 MySQL 数据库。

安装 TypeORM

在开始之前,我们需要安装 TypeORM。可以使用以下命令进行安装:

配置数据库连接

在使用 TypeORM 之前,我们需要先配置数据库连接。在这里,我们将使用 MySQL 数据库。在项目根目录下创建一个名为 ormconfig.json 的文件,用于存储数据库连接配置信息。以下是一个示例配置:

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

上述配置中,type 指定了数据库类型,hostport 分别指定了数据库服务器的地址和端口号,usernamepassword 分别指定了数据库服务器的用户名和密码,database 指定了要连接的数据库名称。synchronize 用于自动同步实体定义和数据库结构,logging 用于控制 TypeORM 是否输出日志。entitiesmigrationssubscribers 分别指定了实体、迁移和订阅器的目录。cli 用于指定生成实体、迁移和订阅器的目录。

定义实体

在使用 TypeORM 操作数据库时,我们需要先定义实体。实体是与数据库表对应的 JavaScript 类。在这里,我们创建一个名为 User 的实体,用于操作 users 表。以下是一个示例实体:

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

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

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

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

在上述代码中,@Entity() 装饰器用于指定实体对应的表名。@PrimaryGeneratedColumn() 装饰器用于指定实体的主键字段,它会自动生成一个自增的整数值。@Column() 装饰器用于指定实体的普通字段。

创建连接

在配置好数据库连接和定义好实体之后,我们需要在代码中创建一个连接。以下是一个示例代码:

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

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

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

在上述代码中,createConnection() 函数用于创建一个数据库连接。它返回一个 Promise 对象,可以使用 then() 方法和 catch() 方法来处理连接成功和连接失败的情况。

操作数据库

在创建好连接之后,我们就可以使用 TypeORM 操作数据库了。以下是一些常见的操作:

插入数据

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

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

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

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

在上述代码中,我们首先使用 getRepository() 函数获取到一个实体的仓库对象。然后,我们创建一个新的实体对象,设置其属性值,最后使用 save() 方法将实体对象保存到数据库中。

查询数据

在上述代码中,我们使用 find() 方法查询 users 表中的所有数据,并将结果打印到控制台上。

更新数据

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

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

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

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

在上述代码中,我们首先使用 findOne() 方法查询 users 表中的一条数据,并将其修改为新的值,最后使用 save() 方法将修改后的实体对象保存到数据库中。

删除数据

在上述代码中,我们使用 delete() 方法删除 users 表中的一条数据。

总结

本文介绍了如何在 Koa2 中使用 TypeORM 操作 MySQL 数据库。我们首先配置了数据库连接信息,然后定义了一个实体,最后展示了一些常见的数据库操作。希望本文对你有所帮助。

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

纠错
反馈