当前位置: 首页 >资讯 > >正文

React18+TS+NestJS+GraphQL 全栈开发在线教育平台-水村山郭酒旗风

来源:哔哩哔哩 发布时间:2023-05-21 14:13:14


(相关资料图)

使用 TypeORM 定义数据表结构并完成 CRUD

React18+TS+NestJS+GraphQL 全栈开发在线教育平台

download:https://www.51xuebc.com/thread-562-1-1.html

TypeORM 是一个开源的对象关系映射(ORM)库,它支持 TypeScript 和 JavaScript,并提供了一些强大的功能,使得开发者可以轻松地定义数据表结构和进行数据库操作。本文将深入探讨如何使用 TypeORM 定义数据表结构并完成 CRUD 操作。安装 TypeORM首先,我们需要安装 TypeORM 库。可以使用以下命令在项目中安装:npm install typeorm reflect-metadata mysql2上面的命令会同时安装 reflect-metadata 和 mysql2 库,这两个库分别用于支持 TypeORM 的元数据和 MySQL 数据库连接。

配置数据库连接接下来,我们需要配置数据库连接。可以在项目根目录下创建一个 ormconfig.json 文件,并添加以下内容:{ "type": "mysql", "host": "localhost", "port": 3306, "username": "root", "password": "password", "database": "test", "synchronize": true, "logging": false, "entities": ["src/entity/**/*.ts"], "migrations": ["src/migration/**/*.ts"], "subscribers": ["src/subscriber/**/*.ts"], "cli": { "entitiesDir": "src/entity", "migrationsDir": "src/migration", "subscribersDir": "src/subscriber" }}上面的配置文件指定了数据库的连接信息和实体类、迁移脚本、订阅器等的位置。我们可以根据实际情况修改这些配置。

定义实体类接下来,我们需要定义数据表对应的实体类。实体类是一个普通的 TypeScript 类,用于描述数据表的结构和字段。例如,如果我们要创建一个名为 User 的数据表,可以定义一个名为 User 的实体类:import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';@Entity()export class User { @PrimaryGeneratedColumn() id: number; @Column() name: string; @Column() email: string;}在上面的代码中,我们使用了 TypeORM 提供的装饰器来标记各个属性的类型和约束条件。@Entity() 标记该类为一个实体类,用于映射到数据库中的表。@PrimaryGeneratedColumn() 标记该属性为主键,并自动递增。@Column() 标记该属性为一个数据表的列。创建数据表当我们完成实体类的定义后,可以使用 TypeORM 自带的命令行工具来创建数据表:npx typeorm schema:sync上面的命令会根据 ormconfig.json 文件中的配置,将所有实体类同步到数据库中,并创建相应的数据表。完成 CRUD 操作接下来,我们可以使用 TypeORM 提供的 API 来进行 CRUD 操作。以下是一些常见的示例:添加数据const user = new User();user.name = 'John Doe';user.email = 'johndoe@example.com';await userRepository.save(user);在上面的代码中,我们创建了一个新的 User 实例,并给 name 和 email 赋值,然后使用 UserRepository 的 save 方法将其保存到数据库中。查询数据const users = await userRepository.find();console.log(users);在上面的代码中,我们使用 UserRepository 的 find 方法来查询所有 User 实例,并打印结果。const user = await userRepository.findOne({ id: 1 });console.log(user);在上面的代码中,我们使用 UserRepository 的 findOne 方法来查询 id 为 1 的 User 实例,并打印结果。更新数据const user = await userRepository.findOne({ id: 1 });if (user) { user.name = 'Jane Doe'; await userRepository.save(user);}在上面的代码中,我们使用 UserRepository 的 findOne 方法来查询 id 为 1 的 User 实例,并修改其 name 属性,然后使用 save 方法更新到数据库中。删除数据await userRepository.delete({ id: 1 });在上面的代码中,我们使用 UserRepository 的 delete 方法来删除 id 为 1 的 User 实例。结论TypeORM 是一个强大且易于使用的 ORM 库,可以帮助开发者轻松地定义数据表结构和完成 CRUD 操作。在使用 TypeORM 进行开发时,我们应该熟悉各种技术和概念,并遵循最佳实践来编写高效、健壮和可靠的代码。同时,我们也应该关注其他相关工具和库,以便更好地支持我们的开发工作。

上一篇:

一受多攻肉甜_一受多攻肉

下一篇:

最后一页

x
精彩推送