前言
在 Deno 中进行后端开发已经逐渐变得流行。Den 这个新兴的 JavaScript 运行时,具有安全性、可维护性和性能等很多方面的优点。而 TypeORM 则是一个自我和生态效应都很不错的 ORM 框架。在本文中,将介绍如何使用 TypeORM 在 Deno 中进行数据库操作。
安装 TypeORM
在 Deno 中使用 TypeORM,首先需要在项目中安装 TypeORM。可以使用下面的命令:
deno install -A -f --unstable https://deno.land/x/typeorm/install.ts
连接数据库
使用 TypeORM 连接数据库的过程中,需要了解预定的连接配置。整个连接配置如下:
-- -------------------- ---- ------- ------ - ----------------- - ---- ---------- ----- ------- ----------------- - - ----- -------- ----- ------------ ----- ----- --------- ------- --------- ----------- --------- ----- --------- --- ------------ ----- --
type
: 数据库类型,可用的值包括 mysql、postgres、sqlite、oracle 等。host
: 数据库主机名或 IP 地址。port
: 数据库端口号。username
、password
: 登录数据库的用户名和密码。database
: 数据库的名称。entities
: 数据库实体类的路径,一般为文件名。synchronize
: 是否应根据实体同步数据库模式。
当上述的配置项填写准确后,TypeORM 的连接器 builder 就可以进行建立了,具体代码实现如下:
-- -------------------- ---- ------- ------ - ---------------- - ---- ---------- ----- -------- --------- - ----- ---------- - ----- ------------------------- -- --------------- ---------------------- ------- -- -------------------- -- ---- ----- ------------------- - ----------
实体
在 TypeORM 中,实体是映射到数据库表中的对象。这个过程可以通过编写装饰器来完成。以下是一个实体范例:
-- -------------------- ---- ------- ---------------- ------ ----- ---- - ------------------------- ---- ------- --------- ------ ------- --------- ------- ------- -
@Entity("users")
:用于声明该类型的对象被映射到数据库中的哪个表(在这个例子中是 users)。@PrimaryGeneratedColumn()
:声明该字段为主键并自动生成值。@Column()
:声明该字段是数据库中的一列。
操作数据库
在 Deno 中,操作数据库有两种方式:原始 SQL 和 ORM。TypeORM 支持使用原始 SQL 进行 CRUD 操作:
-- -------------------- ---- ------- ------ - -------------- ------------- - ---- ---------- ----- -------- ------------ - ----- ----- - ----- ----------------------------- - ---- -------- ------------------- - ----- -------- ------------ - ----- ----- - - ------ ---- ----- ------ ------ ------ --- -- -- ----- ------ - ----- ---------------------------- --------- ---------------------- -------------------- - ----- -------- ------------ - ----- ----- - - ------ ----- --- ---- - - ----- ----- - - -- ----- ------ - ----- ---------------------------- ------- -------------------- -------------------- - ----- -------- ------------ - ----- ----- - - ------ ---- ----- ----- ----- - - -- ----- ------ - ----- ---------------------------- ----------- ------------------------ -------------------- - ------------- ------------- ------------- -------------
TypeORM 还提供了一个更加易于使用且面向对象的处理模式。以下是一个使用 ORM 进行 CRUD 操作的例子:
-- -------------------- ---- ------- ----- -------- ---------------- ----- - ----- -------------- - -------------------- ----- -------------------------- ------------------ - ----- -------- ----------- - ----- -------------- - -------------------- ----- ----- - ----- ---------------------- ------------------- - ----- -------- -------------- ------- ----- ------- - ----- -------------- - -------------------- ----- ---- - ----- --------------------------- --------- - ----- ----- -------------------------- ------------------ - ----- -------- -------------- ------- - ----- -------------- - -------------------- ----- ---- - ----- --------------------------- ----- ---------------------------- - ----- ---- - --- ------- --------- - ------- ---------- - ------------------- ----------------- ------------ ------------- ----- ------- --------------
getRepository(User)
:用于获取到关于 User 实体类的数据库仓库Repository
。userRepository.save(user)
:用于保存新的用户对象。userRepository.find()
:用于获取所有用户的数组。userRepository.findOne(id)
:用于获取 id 指定的用户。
结论
通过阅读本文,我们已经深入了解了如何使用 TypeORM 在 Deno 中操作数据库。正如我们所看到的,TypeORM 提供了非常便捷的方式创建 ORM。它不仅提供了易学的 API,而且还处理了很多底层细节,例如事务管理、表的关联和联接等等。希望本文可以帮助到我 和每一个有需要的读者。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/670a60c6d91dce0dc880f0f1