连接MySql(TypeORM)
原创2026/3/5大约 1 分钟
安装
npm install --save @nestjs/typeorm typeorm mysql2配置
import { Module } from '@nestjs/common'
import { AppController } from './app.controller'
import { AppService } from './app.service'
import { TypeOrmModule } from '@nestjs/typeorm'
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'mysql',
host: 'wwlj-yunfuwu.mysql.huhehaote.rds.aliyuncs.com',
port: 3306,
username: 'j********9',
password: 'A**********0',
database: 'jiamei',
retryDelay: 500,
retryAttempts: 10,
// entities: [__dirname + '/**/*.entity(.ts,.js'],
autoLoadEntities: true,
synchronize: true,
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}模型注入
import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm'
@Entity()
export class App {
@PrimaryGeneratedColumn()
id: number
@Column()
userName: string
@Column()
passWord: string
@Column({ default: true })
isActive: boolean
}使用
app.module.ts
import { Module } from '@nestjs/common'
import { AppController } from './app.controller'
import { AppService } from './app.service'
import { TypeOrmModule } from '@nestjs/typeorm'
import { App } from './app.entity'
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'mysql',
host: 'wwlj-yunfuwu.mysql.huhehaote.rds.aliyuncs.com',
port: 3306,
username: 'jiamei0429',
password: 'Aa1472583690',
database: 'jiamei',
retryDelay: 500,
retryAttempts: 10,
autoLoadEntities: true,
synchronize: true,
}),
TypeOrmModule.forFeature([App]),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}app.controller.ts
import { Controller, Get } from '@nestjs/common'
import { AppService } from './app.service'
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get('register')
register() {
return this.appService.register()
}
}app.service.ts
import { Injectable } from '@nestjs/common'
import { App } from './app.entity'
import { InjectRepository } from '@nestjs/typeorm'
import { Repository } from 'typeorm'
@Injectable()
export class AppService {
constructor(
@InjectRepository(App)
private readonly appRepository: Repository<App>,
) {}
async register() {
const data = new App()
data.userName = 'admin'
data.passWord = '123456'
data.isActive = false
const result = await this.appRepository.save(data)
return {
code: 200,
msg: '新增用户成功',
data: result,
}
}
}至此,本章节的学习就到此结束了,如有疑惑,可对接技术客服进行相关咨询。