安装
npm install typeorm -g
npm install @nestjs/typeorm typeorm mysql2 -S
基本使用
数据模型
let Photo = {
id: number;
name: string;
description: string;
filename: string;
views: number;
}
对象映射
import { Entity, Column, PrimaryColumn,PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class Photo {
// 自动生成的主键
// @PrimaryGeneratedColumn
// 主键
@PrimaryColumn()
id: number;
@Column()
name: string;
// 创建特定的数据库数据类型
@Column('text')
description: string;
@Column('double')
views: number;
@Column()
filename: string;
@Column()
isPublished: boolean;
}
数据库连接配置
import "reflect-metadata"; //加载单个实体
import { createConnection } from "typeorm";
import { newobject } from "./entity/newobject"; //加载单个实体
createConnection({
name: 'test',
type: "mysql",
host: "localhost",
port: 3306,
username: "root",
password: "admin",
database: "test",
entities: [newobject],// [__dirname + "/entity/*.js"],加载目录下的所有实体
synchronize: true,
})
.then((connection) => {
// 这里可以写实体操作相关的代码
})
.catch((error) => console.log(error));
获得实体对象
getConnection().manager.find(newobject)
getManager().find(newobject)
getConnection().getRepository(newobject).find()
getRepository(newobject).find()