介绍
Deno 是一个新兴的运行时环境,它的目标是取代 Node.js。Deno 与 Node.js 不同之处在于,它使用安全的默认设置,支持 TypeScript,没有 npm,而是使用 URL 导入模块,还有许多其他功能。TypeORM 是一个流行的 TypeScript ORM(对象关系映射)框架,它可以帮助我们在应用程序中管理数据库。
在本文中,我们将了解如何在 Deno 中使用 TypeORM 进行 ORM 操作。我们将使用 SQLite 数据库作为示例数据库。
安装 Deno 和 TypeORM
首先,我们需要安装 Deno 和 TypeORM。您可以从 Deno 的官方网站(https://deno.land)下载 Deno,然后使用以下命令安装 TypeORM:
$ deno install typeorm
初始化项目
接下来,我们将创建一个新的 Deno 项目并初始化它:
$ mkdir deno-typeorm-example $ cd deno-typeorm-example $ deno init --allow-net --allow-read --allow-write --unstable src
配置 TypeORM
在项目的根目录中,我们需要创建一个名为 ormconfig.json 的文件来配置 TypeORM。这个文件告诉 TypeORM 如何连接到数据库,并设置其他选项。以下是一个示例 ormconfig.json 文件:
-- -------------------- ---- ------- - ------- --------- ----------- ------------------ -------------- ----- ---------- ----- ----------- ------------------------- ------------- --------------------------- -------------- --------------------------- -
在这个配置文件中,我们指定了 SQLite 数据库作为数据库类型,并将数据库文件保存在项目的根目录中的 database.sqlite 文件中。我们还设置了 synchronize 选项为 true,这将自动同步数据库模式和实体定义。我们还启用了日志记录,并指定了实体、迁移和订阅者的路径。
创建实体
在我们可以使用 TypeORM 进行 ORM 操作之前,我们需要定义实体。实体是代表数据库表的类。我们将创建一个名为 User 的实体,它将具有 id、username 和 password 属性。以下是我们的 User 实体类:
-- -------------------- ---- ------- ------ - ------- ----------------------- ------ - ---- ---------- --------- ------ ----- ---- - ------------------------- --- ------- --------- --------- ------- --------- --------- ------- -
在这个类中,我们使用 TypeORM 提供的装饰器来定义实体和列。@Entity 装饰器将这个类标记为实体,并告诉 TypeORM 将其映射到数据库表。@PrimaryGeneratedColumn 装饰器将 id 列标记为主键,并指定它应该自动增长。@Column 装饰器将 username 和 password 列标记为普通列。
创建数据库连接
我们已经配置了 TypeORM 和定义了实体,现在我们需要创建一个数据库连接。我们将在 src/index.ts 文件中创建一个连接。以下是我们的代码:
-- -------------------- ---- ------- ------ ------------------- ------ - ---------------- - ---- ---------- ------ - ---- - ---- ------------------ ----- -------- ------ - ----- ---------- - ----- ------------------- -- -- --- ---------- ---- ----- ------------------- - -------
在这个文件中,我们使用 TypeORM 提供的 createConnection 函数来创建一个数据库连接。我们还导入了 User 实体。在实际的应用程序中,我们将在此处执行 ORM 操作。
执行 ORM 操作
现在我们已经创建了数据库连接,我们可以执行 ORM 操作。以下是一些示例 ORM 操作:
插入数据
const user = new User(); user.username = 'john'; user.password = 'password'; await connection.manager.save(user);
在这个示例中,我们创建了一个新的 User 对象,并将其保存到数据库中。我们使用 connection.manager.save 方法来保存对象。
查询数据
const users = await connection.manager.find(User); console.log(users);
在这个示例中,我们使用 connection.manager.find 方法来查找所有 User 实体。这将返回一个 User 对象数组。
更新数据
const user = await connection.manager.findOne(User, 1); user.username = 'jane'; await connection.manager.save(user);
在这个示例中,我们首先使用 connection.manager.findOne 方法来查找 id 为 1 的 User 对象。然后我们将 username 属性设置为 jane,并使用 connection.manager.save 方法来保存更改。
删除数据
const user = await connection.manager.findOne(User, 1); await connection.manager.remove(user);
在这个示例中,我们首先使用 connection.manager.findOne 方法来查找 id 为 1 的 User 对象。然后我们使用 connection.manager.remove 方法来删除该对象。
结论
在本文中,我们了解了如何在 Deno 中使用 TypeORM 进行 ORM 操作。我们首先安装了 Deno 和 TypeORM,然后初始化了一个项目,并配置了 TypeORM。我们定义了一个 User 实体,然后创建了一个数据库连接,并执行了一些示例 ORM 操作。这个示例项目可以作为入门指南,帮助您开始使用 Deno 和 TypeORM 进行 ORM 操作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/675402361b963fe9cc4b89b1