介绍
ORM 是一种对象关系映射技术,它可以将关系数据库中的表中的行映射为类和对象,从而可以像操作面向对象编程语言中的对象一样,来操作数据库中的数据。@synapps/orm 是一个基于 TypeScript 编写的 ORM 工具包,它支持多种数据库,如 MySQL、PostgreSQL、MariaDB 等,可以方便地帮助开发者处理数据库操作。
安装
你可以通过 npm 来安装 @synapps/orm 包。命令如下:
--- ------- ------------
连接数据库
在使用 @synapps/orm 的时候,需要先连接到数据库。我们可以先创建一个 database.ts
文件,用于连接数据库。示例代码如下:
------ - ----------- ---------------- - ---- --------------- ------ ----- -------- ---------- ------------------- - ----- ---------- - ----- ------------------ ----- -------- ----- ------------ ----- ----- --------- ------- --------- --------- --------- --------- --- ------ ----------- -
在上面这段代码中,我们使用 createConnection()
函数来连接数据库。该函数接收一个对象作为参数,该对象包含数据库连接的相关信息,比如数据库类型、主机名、端口号、用户名、密码等。我们这里以 MySQL 数据库为例。
定义实体
在使用 @synapps/orm 的时候,我们需要定义实体类来映射数据库中的表。实体类需要被 @Entity()
装饰器修饰,且必须继承 BaseEntity
类。示例代码如下:
------ - ------- ------- ---------------------- - ---- --------------- --------- ------ ----- ---- ------- ---------- - ------------------------- --- ------- --------- ----- ------- --------- ---- ------- --------- ------ ------- --------- ----------- ----- -
在上述代码中,我们定义了一个用户实体类 User
,它有五个属性:id
、name
、age
、email
和 created_at
。@PrimaryGeneratedColumn()
装饰器指定了 id
为主键,自动递增。@Column()
装饰器指定了其余的四个字段。created_at
字段的类型是 Date
,因此需要导入 Date
类。
数据操作
@synapps/orm 遵循 Active Record 模式,实体类本身就是对数据库操作的接口,可以用来对数据进行增删改查等操作。示例代码如下:
新增数据
------ - ------- - ---- ------------- ------ - ---- - ---- ---------------- ------ -- -- - ----- ---------- - ----- ---------- ----- ---- - --- ------- --------- - ----- -------- - --- ---------- - ----------------------- --------------- - --- ------- ----- ------------ ------------------- -----
在上述代码中,我们使用 connect()
函数来连接数据库。然后创建了一个新的用户对象 user
,给其属性赋值。最后使用 save()
函数来保存该用户信息至数据库。
查询数据
------ - ------- - ---- ------------- ------ - ---- - ---- ---------------- ------ -- -- - ----- ---------- - ----- ---------- ----- ----- - ----- ------------ ------------------- ------------------- -----
在上述代码中,我们使用 connect()
函数来连接数据库。然后调用 User.find()
函数来查询所有的用户信息,返回一个数组。最后打印出查询结果。
更新数据
------ - ------- - ---- ------------- ------ - ---- - ---- ---------------- ------ -- -- - ----- ---------- - ----- ---------- ----- ---- - ----- -------------- --- - --- --------- - ----- -------- - --- ----- ------------ ------------------- -----
在上述代码中,我们使用 connect()
函数来连接数据库。然后调用 User.findOne({ id: 1 })
函数来查询 id 为 1 的用户信息,并将其赋值给 user
。然后修改 name
和 age
属性,最后调用 save()
函数来保存更新的信息。
删除数据
------ - ------- - ---- ------------- ------ - ---- - ---- ---------------- ------ -- -- - ----- ---------- - ----- ---------- ----- ---- - ----- -------------- --- - --- ----- -------------- ------------------- -----
在上述代码中,我们使用 connect()
函数来连接数据库。然后调用 User.findOne({ id: 1 })
函数来查询 id 为 1 的用户信息,并将其赋值给 user
。然后调用 remove()
函数来删除该用户信息。
结语
@synapps/orm 是一款方便实用的 ORM 工具包,可以帮助我们快速地完成对数据库的操作。本文对其相关的操作进行了详细地讲解和示范,希望对大家学习和使用有所帮助。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005638181e8991b448e1118