在开发过程中,数据库操作是不可或缺的一部分。TypeORM 是一个强大的对象关系映射(ORM)库,它提供了简单直观的方法来管理和操作数据库。在本篇博客中,我们将介绍如何使用 TypeORM 进行数据库操作。
安装 TypeORM
要使用 TypeORM,首先需要将其安装为项目的依赖项。可以使用 npm 或者 yarn 进行安装,具体命令如下:
npm install typeorm --save
或者
yarn add typeorm
配置数据库连接
在开始使用 TypeORM 之前,我们需要配置数据库连接。可以在项目的根目录创建一个 ormconfig.json
文件,并在其中指定数据库的连接信息。一个示例配置如下:
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "password",
"database": "mydatabase",
"synchronize": true,
"logging": true,
"entities": ["src/entities/*.ts"],
"migrations": ["src/migrations/*.ts"]
}
在这个配置文件中,我们指定了数据库的类型为 MySQL,连接地址为 localhost:3306
,用户名为 root
,密码为 password
,数据库名为 mydatabase
。synchronize
和 logging
参数用于自动同步数据库结构和记录日志。entities
和 migrations
字段分别指定了实体类和迁移文件所在的路径。
创建实体类
在使用 TypeORM 进行数据库操作之前,我们需要定义实体类来描述数据库表结构。一个示例的实体类如下:
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
firstName: string;
@Column()
lastName: string;
@Column()
age: number;
}
在这个示例中,我们定义了一个叫做 User
的实体类,它有 id
、firstName
、lastName
和 age
四个字段。使用 @Entity()
装饰器来将这个类映射为数据库的一张表,使用 @PrimaryGeneratedColumn()
装饰器来指定主键,使用 @Column()
装饰器来指定普通字段。
进行数据库操作
在配置好数据库连接和定义好实体类之后,我们就可以使用 TypeORM 进行数据库操作了。以下是一些常见的操作示例:
创建数据库连接
import { createConnection } from "typeorm";
createConnection().then(connection => {
// 在这里进行数据库操作
}).catch(error => console.log(error));
插入数据
import { getRepository } from "typeorm";
import { User } from "./entities/User";
const user = new User();
user.firstName = "John";
user.lastName = "Doe";
user.age = 25;
const userRepository = getRepository(User);
userRepository.save(user).then(savedUser => {
console.log("User has been saved: ", savedUser);
}).catch(error => console.log(error));
查询数据
import { getRepository } from "typeorm";
import { User } from "./entities/User";
const userRepository = getRepository(User);
userRepository.find().then(users => {
console.log("All users: ", users);
}).catch(error => console.log(error));
更新数据
import { getRepository } from "typeorm";
import { User } from "./entities/User";
const userRepository = getRepository(User);
userRepository.findOne({ firstName: "John" }).then(user => {
user.lastName = "Smith";
userRepository.save(user).then(updatedUser => {
console.log("User has been updated: ", updatedUser);
}).catch(error => console.log(error));
});
删除数据
import { getRepository } from "typeorm";
import { User } from "./entities/User";
const userRepository = getRepository(User);
userRepository.delete({ firstName: "John" }).then(result => {
console.log("User has been deleted: ", result);
}).catch(error => console.log(error));
结语
TypeORM 是一个功能强大且易于使用的 ORM 库,它提供了丰富的方法来管理和操作数据库。通过配置数据库连接,定义实体类,以及使用上面的示例来进行数据库操作,您可以轻松地在您的项目中使用 TypeORM。希望本文对您有所帮助,祝您使用 TypeORM 开发愉快!
本文来自极简博客,作者:清风徐来,转载请注明原文链接:使用TypeORM进行数据库操作