TypeORM是一个基于TypeScript的ORM(对象关系映射)框架,它允许你使用TypeScript编写数据库操作代码,而无需直接编写SQL语句。TypeORM提供了一种简单的方式来连接、查询和操作数据库,使得开发者可以更专注于业务逻辑的开发。
一、安装TypeORM
首先,你需要在你的项目中安装TypeORM。你可以通过npm或yarn来安装:
npm install typeorm
# 或者
yarn add typeorm
二、创建一个新的TypeORM项目
接下来,你可以使用typeorm-cli
工具来创建一个新的TypeORM项目:
npx typeorm-cli init --name my-app --database mysql
# 或者
yarn create typeorm-app my-app --database mysql
这将创建一个名为my-app
的新项目,并使用MySQL作为数据库。
三、定义实体类
在TypeORM中,实体类是与数据库表对应的类。你可以在src/entity
目录下创建一个新的实体类,例如User.ts
:
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
email: string;
}
四、定义仓库类
仓库类是用于处理数据库操作的类。你可以在src/repository
目录下创建一个新的仓库类,例如UserRepository.ts
:
import {getConnection} from "typeorm";
import {User} from "../entity/User";
class UserRepository {
async getAllUsers(): Promise<User[]> {
return await getConnection().createQueryBuilder(User).getMany();
}
}
五、使用仓库类进行数据库操作
现在,你可以在你的业务逻辑中使用仓库类来进行数据库操作。例如,你可以在src/service
目录下创建一个新的服务类,例如UserService.ts
:
import {UserRepository} from "../repository/UserRepository";
import {User} from "../entity/User";
class UserService {
constructor(private userRepository: UserRepository) {}
async getAllUsers(): Promise<User[]> {
return await this.userRepository.getAllUsers();
}
}
六、运行你的应用
最后,你可以运行你的应用来测试你的数据库操作。例如,你可以在src/main.ts
文件中添加以下代码:
import {UserService} from "./service/UserService";
const userService = new UserService(new UserRepository());
userService.getAllUsers().then(users => console.log(users));
这就是一个简单的TypeORM示例。通过使用TypeORM,你可以更轻松地构建强大的Node.js应用,而无需直接编写SQL语句。