在 Deno 中使用 TypeORM 进行 ORM 操作可以帮助我们更方便地管理数据库,提高开发效率。本文将介绍如何在 Deno 中使用 TypeORM 实现数据库的增删改查操作。
安装 TypeORM
首先需要安装 TypeORM:
deno install -A -f --unstable typeorm
配置数据库
在进行 ORM 操作之前,需要配置数据库连接。创建 ormconfig.json
文件,并填写相应的信息:
-- -------------------- ---- ------- - ------- -------- ------- ------------ ------- ----- ----------- ------- ----------- ----------- ----------- ------- -------------- ----- ----------- ---------------- -
其中:
type
:指定数据库类型。TypeORM 支持的数据库类型包括 MySQL、PostgreSQL、SQLite 等。host
:指定数据库服务器地址。port
:指定数据库服务器端口。username
:指定连接数据库的用户名。password
:指定连接数据库的密码。database
:指定连接的数据库名称。synchronize
:是否自动同步数据库结构。设置为 true 表示启用,会在程序启动时自动同步数据库结构。entities
:指定实体类所在的路径,TypeORM 会根据这个路径扫描实体类并映射到数据库中。
创建实体类
在使用 TypeORM 进行 ORM 操作前,需要先创建实体类。实体类是一个普通的 TypeScript 类,用于映射数据库中的表结构。下面是一个简单的实体类示例:
-- -------------------- ---- ------- ------ - ------- ----------------------- ------ - ---- ---------- --------- ------ ----- ---- - ------------------------- --- ------- --------- ----- ------- --------- ---- ------- -
实体类使用了 @Entity
注解来标识该类为映射的实体,使用 @PrimaryGeneratedColumn
和 @Column
注解来定义映射到数据库中的字段。
实现增删改查操作
创建好实体类后,就可以使用 TypeORM 进行增删改查操作了。
创建实体
创建实体(即往数据库中插入一条数据)可以使用实体管理器实现:
-- -------------------- ---- ------- ------ - ---------------- - ---- ---------- ------ - ---- - ---- --------- ----------------------------- ------------ -- - ----- ---- - --- ------- --------- - ------ -------- - --- ----- -------------- - ------------------------------- ----- -------------------------- -------------------- ------- ------ ---
首先调用 createConnection
方法来创建一个数据库连接。然后使用 new
关键字创建一个新的 User 实体,并设置相应的属性值。接着通过 connection.getRepository
方法获取 UserRepository 对象,最后使用 userRepository.save
方法将实体保存到数据库中。
查询实体
查询实体可以使用实体管理器的 find
和 findOne
方法。例如:
-- -------------------- ---- ------- ------ - ---------------- - ---- ---------- ------ - ---- - ---- --------- ----------------------------- ------------ -- - ----- -------------- - ------------------------------- ----- ----- - ----- ---------------------- ---------------- -------- ------- ----- ---- - ----- -------------------------- ----------------- ---- -- ---- ------ ---
使用 userRepository.find()
方法可以查询所有实体,使用 userRepository.findOne(1)
方法可以查询 ID 为 1 的实体。
更新实体
更新实体可以使用实体管理器的 update
方法:
-- -------------------- ---- ------- ------ - ---------------- - ---- ---------- ------ - ---- - ---- --------- ----------------------------- ------------ -- - ----- -------------- - ------------------------------- ----- ---- - ----- -------------------------- --------------------- ------- ------ --------- - -------- -------- - --- ----- ------------------------ ------ ----- ----------- - ----- -------------------------- -------------------- ------- ------------- ---
使用 userRepository.findOne
方法查找需要更新的实体,然后修改实体的属性值,并将修改后的实体通过 userRepository.update
方法保存到数据库中。
删除实体
删除实体可以使用实体管理器的 delete
方法:
-- -------------------- ---- ------- ------ - ---------------- - ---- ---------- ------ - ---- - ---- --------- ----------------------------- ------------ -- - ----- -------------- - ------------------------------- ----- ---- - ----- -------------------------- --------------------- ------- ------ ----- ------------------------- ----- ----------- - ----- -------------------------- -------------------- ------- ------------- ---
使用 userRepository.findOne
方法查找需要删除的实体,然后通过 userRepository.delete
方法删除实体。删除后再查询该实体将返回 undefined
。
总结
以上是在 Deno 中使用 TypeORM 进行 ORM 操作的详细介绍。通过本文的学习,读者可以了解到如何安装 TypeORM、配置数据库连接、创建实体类,以及如何使用 TypeORM 进行增删改查操作。希望本文对读者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6501422a95b1f8cacdf05f1e