赞
踩
nestjs入门学习规划:https://blog.csdn.net/lxy869718069/article/details/114028195
在连接数据库的时候,我们配置了synchronize: true这个属性,我们的实体就能与数据表进行对应。即只要我们创建了实体之后,哪怕我们不去创建数据表,当项目启动时候,数据库也会自动生成对应的数据表。
说起数据库相关的内容,我们第一个印象就是在项目需要的时候需要创建多个数据表以及配置表与表之间的关联关系。而typeorm中无需去创建表了,只需配置好实体即可。
首先要了解实体是什么?
实体是一个映射到数据库表的类。 你可以通过定义一个新类来创建一个实体,并用@Entity()来标记
换句话说实体就是一张数据表,在typeorm中我们不需要对数据库的表使用相关工具进行创建与关联,而只需要创建一个实体,并且将实体中的数据内容设置好,那么在项目启动后,就会自动生成对应的表,并且将表与表之间的关系给创建好。
示例,如:
这个实体就将在项目启动后自动在数据库中创建表,如下:
一个User类名称对应一张名叫user的表名称
可以看出字段能够一一对应起来,而且类型,长度,是否为null,是否有默认值等这些数据都可以在实体中的@Column()装饰器进行配置。
了解 @PrimaryGeneratedColumn():https://typeorm.biunav.com/zh/entities.html#主列
了解@Column()这个装饰器的参数:https://typeorm.biunav.com/zh/entities.html#列选项
在typeorm中实体继承和嵌入式实体这两种内容的出现都是为了减少代码中的重复。
这两个内容使用不使用具体看个人,对实际开发无太大影响,而我本人不太喜欢这种模块,个人感觉一张表就是一个实体,这样看起来舒服些。
使用方式参考官网:https://typeorm.biunav.com/zh/embedded-entities.html
树实体最重要的一个作用无非就是获取如下所述的一种列表数据所存储的一种表结构。
实际上,这种可以看情况使用,可以选择使用树实体。也可以选择使用单表,然后用一个字段保存其父子关系,然后使用递归查询出如下结构内容。
参考官方文档:https://typeorm.biunav.com/zh/tree-entities.html
这个内容用的比较少,可以看需要了解。
参考官方文档:https://typeorm.biunav.com/zh/view-entities.html
你可以使用装饰器在模型中定义实体及其列。 但有些人更喜欢在单独的文件中定义一个实体及其列
这个功能其实就是实体的另一种设计方式。
例如:如下两张图,其实都表示一个名叫CategoryEntity数据表,有id和name两个列。两张图是等价的
因此我们无需了解太多,只要知道常规的实体(entity)设计方式即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。