NestJS学习之数据库连接工具

作者:rousong2024.02.16 20:25浏览量:4

简介:NestJS是一个高效且强大的Node.js框架,用于构建高效、可扩展的服务器端应用程序。在NestJS中,可以使用多种数据库连接工具,其中最常用的是TypeORM和Sequelize。本文将介绍如何在NestJS中使用这两种数据库连接工具,以及如何进行简单的数据库操作。

NestJS是一个高效且强大的Node.js框架,用于构建高效、可扩展的服务器端应用程序。在NestJS中,可以使用多种数据库连接工具,其中最常用的是TypeORM和Sequelize。本文将介绍如何在NestJS中使用这两种数据库连接工具,以及如何进行简单的数据库操作。

一、TypeORM

TypeORM是一个功能强大的TypeScript ORM,支持多种数据库,包括MySQL、PostgreSQL、SQLite、Microsoft SQL Server等。在NestJS中使用TypeORM进行数据库操作需要以下步骤:

  1. 安装TypeORM和相关依赖

在项目根目录下打开终端,运行以下命令安装TypeORM和相关依赖:

  1. npm install typeorm mysql --save
  1. 配置TypeORM

在NestJS中,需要在app.module.ts中导入TypeORM模块并配置数据库连接信息。例如,如果使用MySQL数据库,可以按照以下方式进行配置:

  1. import { Module } from '@nestjs/common';
  2. import { TypeOrmModule } from '@nestjs/typeorm';
  3. import { AppController } from './app.controller';
  4. import { AppService } from './app.service';
  5. @Module({
  6. imports: [TypeOrmModule.forRoot({ type: 'mysql', host: 'localhost', port: 3306, username: 'test', password: 'test', database: 'test', entities: [], })],
  7. controllers: [AppController],
  8. providers: [AppService],
  9. })
  10. export class AppModule { }

在上面的代码中,我们使用TypeOrmModule.forRoot()方法配置了数据库连接信息,包括数据库类型、主机名、端口、用户名、密码、数据库名和实体类等。同时,我们还指定了需要加载的实体类。

  1. 创建实体类和Repository

在NestJS中,每个实体类都需要映射到数据库中的一个表。因此,需要创建实体类来表示数据库中的表结构。例如,以下是一个User实体类的示例:

  1. import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
  2. @Entity('users')
  3. export class User {
  4. @PrimaryGeneratedColumn()
  5. id: number;
  6. @Column()