nest mysql一对一练习

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
		// 获取 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)
	// 通过userDeatil字段查询
	const result = await userRepo.find({ relations: ["userDetail"]})
反向查询
	const extendRepo = connection.getRepository(UserExtend)
	const result = await extendRepo.find({ relations: ["user"]})
	console.log(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值