连接MySql(TypeORM)
原创...小于 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;
}
使用
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 { }
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();
}
}
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
};
}
}
Powered by Waline v2.15.7