今天有这么一个需求:之前已经设计过数据表,在后端项目中进行过实体类映射,并基于实体类开发了一些接口,今天数据表需要重新设计,但是又不想改变实体类中的变量名,这样就可以直接重复利用开发的接口,该怎么做呢。
首先,在数据库管理系统中新建新的数据表,基于原来的数据表做了以下改变:
1.对数据表名和字段名进行完善,但是所表示的内容一样;
2.一些数据表增加字段,一些数据表减少字段;
3.更改一个数据表的id为自增id
(3的做法如下:
在Navicat中打开数据库连接,在其他-序列中新建序列,设置1-99999999,每次增加1。
右键数据表-设计表,选择id字段,在默认中写入:
nextval('新建序列名')
针对以上的改变,在后端实体类中,不改变实体类的成员变量名称,做出以下改变:
1.在成员变量上增加注释:
@TableField(value = "数据表中对应字段名")
自增ID成员变量:
@TableId(value = "id", type = IdType.AUTO)
2.在实体类上增加注释:
@TableName(value ="数据表名")
3.更改mapper.xml
增加或减少字段的,对应增加或减少result标签,在sql标签中也对应增加或减少
其中,column=“实体类成员变量名”,jdbcType=“字段数据类型”,property=“数据表中字段名,或者SQL as后的名字”。