文章目录

  • 原始方式,表添加字段
  • 进化方式一
  • 进化方式二
  • 动态扩展字段缺点



扩展字段的场景在实际中非常多。

原始方式,表添加字段

表一开始时有10个字段,后来因为业务需要,增加两个字段。
这时候实体类,mapper.xml都需要变动。
后来又需要增加3个字段。
后来又需要增加1个字段。。。

每次都改sql,改实体类,改动成本很高,而且还有回归测试成本,发版成本,发版验证成本,组合起来成本太高了。

进化方式一

于是有人想出了办法,建立几张表。
表和扩展表 关系表
表和扩展字段 关系表

也就是说查的时候,先根据表找到扩展表,在和扩展表联查,因为没个表的扩展表是一定的,所以也是可行的。

这样就不用变动原表结构,需要新增字段的时候只需要建立关系即可。

进化方式二

上面的方式已经进步了些,但是发现没有,定义的表数量是有限的,如果想要给新表维护关系,还是需要添加sql等,还是不够优雅。

扩展字段框架。 现在已经有很多扩展字段框架了。

动态扩展字段缺点

查询的时候不好查,因为字段关系不透明,所以通过sql查询时做不到,只能遍历一条条查询。