User
@Entity({ name: "user"})
export class User {
@PrimaryGeneratedColumn({
type: "int",
name: "id",
comment: "主键id"
})
id: number;
@Column({
type: "varchar",
nullable: false,
length: 50,
unique: true,
name: "username",
default: "张三",
comment: "用户名"
})
username: string;
@Column({
type: "varchar",
nullable: false,
length: 100,
default: "123456",
comment: "密码"
})
password: "string"
@Column("tinyint", {
nullable: false,
default: () => 0,
name: "is_del",
comment: "是否删除, 1表示删除, 0表示正常"
})
isDel: number;
@CreateDateColumn({
type: "timestamp",
nullable: false,
name: "created_at",
comment: "创建时间"
})
createdAt: Date;
@UpdateDateColumn({
type: "timestamp",
nullable: false,
name: "update_at",
comment: "更新时间"
})
updateAt: Date;
@OneToOne(type => UserExtend, userExtend => userExtend.user)
userDetail: UserExtend;
}
UserExtend
@Entity({ name: "userExtend" })
export class UserExtend {
@PrimaryGeneratedColumn({
type: "int",
name: "id",
comment: "主键id"
})
id: number;
@Column({
type: "varchar",
length: 11,
nullable: true,
name: "mobile",
comment: "手机号码",
})
mobile: string;
@Column({
type: "varchar",
length: 50,
nullable: true,
name: "address",
comment: "地址",
})
address: string;
@OneToOne(type => User, user => user.userDetail)
@JoinColumn()
user: User
}
数据操作
createConnection()
.then(async (connection) => {
const user = new User()
user.username = "老王"
user.password = "123456"
const userExtend = new UserExtend()
userExtend.mobile = 15888888888
userExtend.address = "乐清"
userExtend.user = user
const userRepository = connection.getRepository(User)
await userRepository.save(user)
const userExtendRepo = connection.getRepositpry(UserExtend)
await userExtendRepo.save(userExtend)
console.log("数据插入成功", user)
})
正向查询
const userRepo = connection.getRepository(User)
const result = await userRepo.find({ relations: ["userDetail"]})
反向查询
const extendRepo = connection.getRepository(UserExtend)
const result = await extendRepo.find({ relations: ["user"]})
console.log(result)