开发过程中的问题
1. 在设计数据库模型的时候,我们通常会在表中创建创建人、创建时间、更新人、更新时间等通用的字段来记录每行数据的创建和变动信息。比如在 inset 和 update 过程方法中要不停的set的创建时间字段或更新时间字段等公共信息。
2. 并且,如果有大量的表,每个表都有这些公共字段,不论是在创建或者更新的时候都是重复繁琐的操作,让人难受。
针对问题
1. 我们可以通过代码自动生成创建人、更新人、创建时间、更新时间等公共字段的信息,来减少开发者的工作量(大量使用set方法)。
2. 我们可以将大量表中的重复的公共字段抽取出来,做一个通用字段的bean类型,在java中让它成为父类,让其他表继承
实现
1. 抽取公共字段创建父类基础模型
例如,有 im_base_entity 表,表中有些字段与其他表中字段一致(主要根据实际业务区分):创建人、更新人、创建时间、更新时间、逻辑删除
CREATE TABLE `im_base_entity` (
`id` int(11) NOT NULL COMMENT '主键',
`username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名',
`password` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`creator` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
`updater` varchar(32) CHARACTER SET ut