在开发中,往往需求变更比开发速度要快,就会存在一些问题,比如突然要增加一个字段,我们需要
alter table 表名 add [column] 字段名 数据类型 [列属性] [位置];
然后修改实体类,增加字段,修改toString等,
再然后修改mybatis映射文件的sql语句,
再再然后小心翼翼的调试程序,生怕哪里出了问题。
当我们终于觉得程序调通了,然后产品又改需求了。。。。
基于以上蛋疼的问题,尤其是项目设计不稳定的情况,在刚开始设计数据表时,我们要有意识的增加一个text类型的字段,比如叫info。里面存的是json串,当增加一个新字段时,其实就是程序里面的info增加一个key而已,大大减少了代码修改的工作量。
但这种方式也有缺点,当我们where age = 20查询的时候,如果age这个字段是info里面的某个key,低版本mysql是不支持json函数的(可以使用高版本),另外无法利用到索引,查询性能差,还是建议把age作为一个新增的字段。