在 Deno 中使用 TypeORM 进行 ORM 操作可以让我们更方便地管理数据。下面我们将介绍如何在 Deno 中使用 TypeORM 进行 ORM 操作,并提供示例代码。
安装 TypeORM
首先,我们需要安装 TypeORM。可以使用以下命令在 Deno 中安装 TypeORM:
import { createConnection } from "https://deno.land/x/typeorm/mod.ts";
连接数据库
在使用 TypeORM 进行 ORM 操作之前,我们需要先连接到数据库。可以使用以下代码连接到数据库:
// javascriptcn.com 代码示例 import { createConnection } from "https://deno.land/x/typeorm/mod.ts"; import { User } from "./User.ts"; const connection = await createConnection({ type: "mysql", host: "localhost", port: 3306, username: "root", password: "password", database: "test", entities: [User], synchronize: true, });
在上面的代码中,我们使用 createConnection
方法创建了一个与数据库的连接,其中包含了数据库的相关信息,如数据库类型、主机名、端口号、用户名、密码、数据库名称等。此外,我们还指定了实体类 User
,并设置了 synchronize
选项为 true
,表示 TypeORM 会自动创建表和字段。
创建实体类
在使用 TypeORM 进行 ORM 操作时,我们需要定义实体类来映射数据库中的表。以下是一个示例:
// javascriptcn.com 代码示例 import { Entity, Column, PrimaryGeneratedColumn } from "https://deno.land/x/typeorm/mod.ts"; @Entity() export class User { @PrimaryGeneratedColumn() id!: number; @Column({ unique: true }) username!: string; @Column() password!: string; @Column() email!: string; }
在上面的代码中,我们使用 TypeORM 提供的装饰器 @Entity
、@Column
、@PrimaryGeneratedColumn
来定义实体类 User
,并指定了实体类的属性,如 id
、username
、password
、email
等。
查询数据
使用 TypeORM 进行查询操作非常简单。以下是一个示例:
// javascriptcn.com 代码示例 import { createConnection } from "https://deno.land/x/typeorm/mod.ts"; import { User } from "./User.ts"; const connection = await createConnection({ type: "mysql", host: "localhost", port: 3306, username: "root", password: "password", database: "test", entities: [User], synchronize: true, }); const userRepository = connection.getRepository(User); const users = await userRepository.find(); console.log(users);
在上面的代码中,我们首先创建了与数据库的连接,并使用 connection.getRepository
方法获取了 User
实体类的仓库对象 userRepository
。然后,我们调用 userRepository.find
方法查询数据库中的所有用户,并将结果打印出来。
插入数据
使用 TypeORM 进行插入操作也非常简单。以下是一个示例:
// javascriptcn.com 代码示例 import { createConnection } from "https://deno.land/x/typeorm/mod.ts"; import { User } from "./User.ts"; const connection = await createConnection({ type: "mysql", host: "localhost", port: 3306, username: "root", password: "password", database: "test", entities: [User], synchronize: true, }); const userRepository = connection.getRepository(User); const user = new User(); user.username = "test"; user.password = "123456"; user.email = "test@example.com"; await userRepository.save(user); console.log("User has been saved");
在上面的代码中,我们首先创建了与数据库的连接,并使用 connection.getRepository
方法获取了 User
实体类的仓库对象 userRepository
。然后,我们创建了一个新的 User
对象,并设置了其属性。最后,我们调用 userRepository.save
方法将 User
对象保存到数据库中。
更新数据
使用 TypeORM 进行更新操作也非常简单。以下是一个示例:
// javascriptcn.com 代码示例 import { createConnection } from "https://deno.land/x/typeorm/mod.ts"; import { User } from "./User.ts"; const connection = await createConnection({ type: "mysql", host: "localhost", port: 3306, username: "root", password: "password", database: "test", entities: [User], synchronize: true, }); const userRepository = connection.getRepository(User); const user = await userRepository.findOne({ username: "test" }); user.password = "654321"; await userRepository.save(user); console.log("User has been updated");
在上面的代码中,我们首先创建了与数据库的连接,并使用 connection.getRepository
方法获取了 User
实体类的仓库对象 userRepository
。然后,我们使用 userRepository.findOne
方法查询数据库中的一个用户,并将其密码更新为 654321
。最后,我们调用 userRepository.save
方法将更新后的 User
对象保存到数据库中。
删除数据
使用 TypeORM 进行删除操作也非常简单。以下是一个示例:
// javascriptcn.com 代码示例 import { createConnection } from "https://deno.land/x/typeorm/mod.ts"; import { User } from "./User.ts"; const connection = await createConnection({ type: "mysql", host: "localhost", port: 3306, username: "root", password: "password", database: "test", entities: [User], synchronize: true, }); const userRepository = connection.getRepository(User); const user = await userRepository.findOne({ username: "test" }); await userRepository.remove(user); console.log("User has been removed");
在上面的代码中,我们首先创建了与数据库的连接,并使用 connection.getRepository
方法获取了 User
实体类的仓库对象 userRepository
。然后,我们使用 userRepository.findOne
方法查询数据库中的一个用户,并使用 userRepository.remove
方法将其从数据库中删除。
总结
在 Deno 中使用 TypeORM 进行 ORM 操作可以让我们更方便地管理数据。在本文中,我们介绍了如何在 Deno 中使用 TypeORM 进行 ORM 操作,并提供了详细的示例代码。希望本文能对读者在 Deno 中使用 TypeORM 进行 ORM 操作有所帮助。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/655d9b46d2f5e1655d7dedc0