前言
Deno 是一个新型的 JavaScript 运行时环境,它旨在为开发人员提供更好的开发体验和安全性。而 TypeORM 是一个功能强大的 ORM(Object-Relational Mapper)框架,可以用于在 Node.js 和浏览器中操作不同类型的数据库。如果你正在使用 Deno 进行开发,并且想要使用 ORM 来操作数据库,那么 TypeORM 就是一个非常不错的选择。
在本文中,我们将会介绍如何在 Deno 中使用 TypeORM 来操作数据库。本文将提供一个简单的示例代码,以便开发人员更好地理解如何使用 TypeORM。
安装 TypeORM
首先,我们需要在我们的 Deno 项目中安装 TypeORM。
---- ------- -------
配置数据库连接
接下来,我们需要配置 TypeORM 的数据库连接。打开 ormconfig.json
文件,并输入以下内容:
- ------- -------- ------- ------------ ------- ----- ----------- ------- ----------- --------- ----------- ------ -
在以上配置中,我们使用了 MySQL 数据库,并提供了主机、端口、用户名、密码和数据库名称等信息。你可以根据自己的需要更改这些信息。
创建实体
然后,我们需要在我们的 Deno 项目中创建一个实体,该实体将映射到我们的数据库表。在这个示例中,我们将创建一个名为 User
的实体,它将映射到一个名为 user
的数据库表。打开 user.ts
文件,并输入以下内容:
------ - ------- ----------------------- ------ - ---- ------------------------------------- --------- ------ ----- ---- - ------------------------- ---- ------- --------- ------ ------- --------- ----- ------- --------- ------- ------- -
在这个实体中,我们使用 @Entity
装饰器来标记该实体,表示它将映射到数据库表。然后,我们使用 @PrimaryGeneratedColumn
装饰器来标记 id
字段,表示它是一个自动生成的主键。接下来,我们使用 @Column
装饰器来标记其他字段,包括 name
、age
和 email
等。
创建数据库连接
接下来,我们需要创建一个数据库连接,以便使用 TypeORM 来操作数据库。在 app.ts
文件中输入以下内容:
------ - ---------------- - ---- ------------------------------------- ------ - ---- - ---- ------------ ----- ---------- - ----- ------------------- ----- ---- - --- ------- --------- - ------- -------- - --- ---------- - ------------------- ----- ------------------------------ ----------------- --- ---- ----- ----------------
在这段代码中,我们首先使用 createConnection
方法创建了一个数据库连接。然后,我们创建了一个新的 User
对象,并在其中填充了一些数据。接下来,我们使用 connection.manager.save
方法来保存 User
对象到数据库。最后,我们输出了一条成功的消息。
运行应用程序
现在,我们已经准备好运行我们的 TypeORM 示例应用程序了。使用以下命令来运行应用程序:
---- --- ----------- ------
在你看到 User has been saved successfully.
消息之后,你可以登录到你的 MySQL 数据库中,查看 user
表中的数据,确保已成功地保存了该记录。
结论
在本文中,我们介绍了如何在 Deno 中使用 TypeORM 来操作数据库。我们首先安装了 TypeORM,然后配置了数据库连接和实体。接着,我们使用 createConnection
方法创建了一个数据库连接,并使用 save
方法将一个新的 User
对象保存到数据库中。如果你在 Deno 中开发应用程序,并希望使用 ORM 框架来操作数据库,那么 TypeORM 就是一个不错的选择。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/671360f0ad1e889fe20c7480