文章目录
- 原始方式,表添加字段
- 进化方式一
- 进化方式二
- 动态扩展字段缺点
扩展字段的场景在实际中非常多。
原始方式,表添加字段
表一开始时有10个字段,后来因为业务需要,增加两个字段。
这时候实体类,mapper.xml都需要变动。
后来又需要增加3个字段。
后来又需要增加1个字段。。。
每次都改sql,改实体类,改动成本很高,而且还有回归测试成本,发版成本,发版验证成本,组合起来成本太高了。
进化方式一
于是有人想出了办法,建立几张表。
表和扩展表 关系表
表和扩展字段 关系表
也就是说查的时候,先根据表找到扩展表,在和扩展表联查,因为没个表的扩展表是一定的,所以也是可行的。
这样就不用变动原表结构,需要新增字段的时候只需要建立关系即可。
进化方式二
上面的方式已经进步了些,但是发现没有,定义的表数量是有限的,如果想要给新表维护关系,还是需要添加sql等,还是不够优雅。
扩展字段框架。 现在已经有很多扩展字段框架了。
动态扩展字段缺点
查询的时候不好查,因为字段关系不透明,所以通过sql查询时做不到,只能遍历一条条查询。