前言
TypeORM 是一个面向对象的异步关系型数据库 ORM 框架。它支持 TypeScript 和 JavaScript,可以在 Node.js,浏览器,React Native 和 Electron 平台上运行。
在本文中,我们将学习如何在 Deno 中使用 TypeORM。我们将通过示例代码,深度讲解如何使用 TypeORM 安装和配置数据库连接,如何定义实体类,如何进行增删改查等基础操作。
安装和配置
在开始使用 TypeORM 之前,我们需要先安装它。打开您的终端,输入以下命令:
npm install typeorm reflect-metadata
接下来,我们需要在项目中创建一个文件夹来存放所有数据库相关代码。我们称之为 src/database
目录。
在 src/database
目录中,创建一个名为 connection.ts
的文件,它将包含我们的数据库连接配置代码。
// javascriptcn.com 代码示例 import { createConnection } from "typeorm"; createConnection({ type: "mysql", host: "localhost", port: 3306, username: "root", password: "password", database: "test-db", entities: [], synchronize: true, }).then(() => console.log("Connected to database"));
这是一个简单的数据库连接配置文件,我们使用了 MySQL 数据库。您可以根据自己的需求更改配置。在 entities
中,我们将存放所有实体的类。
现在,我们只需要运行 connection.ts
文件,就可以连接到数据库。
deno run --allow-net src/database/connection.ts
这会在控制台中输出 "Connected to database"。
定义实体类
现在,我们需要定义存储在数据库中的实体类。在 src/database
目录中,我们可以创建一个名为 User.ts
的文件来定义一个用户实体类。
// javascriptcn.com 代码示例 import { Entity, PrimaryGeneratedColumn, Column } from "typeorm"; @Entity() export class User { @PrimaryGeneratedColumn() id: number; @Column() firstName: string; @Column() lastName: string; @Column() age: number; }
在这个例子中,我们定义了一个用户实体类,它有四个属性:id
、firstName
、lastName
和 age
。@PrimaryGeneratedColumn()
用于定义主键,@Column()
用于定义普通字段。
基础操作
现在,我们已经定义了一个用户实体类,我们来看看我们可以如何使用 TypeORM 进行基础操作。
添加数据
// javascriptcn.com 代码示例 import { getRepository } from "typeorm"; import { User } from "./User"; const user = new User(); user.firstName = "Tom"; user.lastName = "Smith"; user.age = 28; getRepository(User).save(user).then(() => console.log("User has been saved"));
在这个例子中,我们创建了一个 User
实例,并将它保存到数据库中。
查询数据
import { getRepository } from "typeorm"; import { User } from "./User"; getRepository(User).find().then((users) => console.log(users));
在这个例子中,我们查询了所有用户,并将它们打印到控制台。
更新数据
import { getRepository } from "typeorm"; import { User } from "./User"; getRepository(User) .update({ id: 1 }, { firstName: "John" }) .then(() => console.log("User has been updated"));
在这个例子中,我们更新了 ID 为 1 的用户的 firstName
属性。
删除数据
import { getRepository } from "typeorm"; import { User } from "./User"; getRepository(User) .delete({ id: 1 }) .then(() => console.log("User has been deleted"));
在这个例子中,我们删除了 ID 为 1 的用户。
总结
在本文中,我们学习了如何在 Deno 中使用 TypeORM。我们学习了如何安装和配置 TypeORM,如何定义实体类,以及如何进行基础操作。希望这篇文章对您有所帮助,谢谢阅读。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/652dfbd07d4982a6ebf11d1e