-
npm install
npm install --save typeorm mysql2 -
编辑app.module.ts
import { TypeOrmModule } from '@nestjs/typeorm'; @Module({ imports: [ TypeOrmModule.forRoot({ type: 'mysql', host: '127.0.0.1', port: 3306, username: 'root', password: 'root', database: 'database', autoLoadEntities: true, synchronize: true, }), AdminModule, ], controllers: [AppController], providers: [AppService], }) -
创建对应文件的实体,如:admin.entity.ts
import { Entity, PrimaryGeneratedColumn, Column, Unique } from 'typeorm'; @Entity('admin') @Unique(['username']) export class Admin { @PrimaryGeneratedColumn({ unsigned: true }) id: number; @Column({ length: 20, default: '' }) username: string; } -
编辑对应文件的module,如:admin.module.ts
import { TypeOrmModule } from '@nestjs/typeorm'; import {Admin} from './entities/admin.entity'; @Module({ imports: [TypeOrmModule.forFeature([Admin]), AuthModule], }) -
编辑对应文件的service,如:admin.service.ts
import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { Admin } from './entities/admin.entity'; @Injectable() export class AdminService { constructor( @InjectRepository(Admin) private adminRepository: Repository<Admin>, ) {} findOne(query: { id?: number; mobile?: string; email?: string }) { const {id, mobile, email} = query; return this.adminRepository.findOne({ where: [{id}, {mobile}, {email}] }) } }