RecordHistory
大约 2 分钟
RecordHistory
表操作历史记录注解,对数据库做更新操作(增,删,改)之前对数据进行备份历史
参数说明
参数 | 类型 | 必须 | 默认 | 说明 |
---|---|---|---|---|
value | String | 否 | "" | 指定要记录的对象,如果不指定,默认就会拿第一个参数 |
clazz | Class<?> | 是 | 类型,数据库对象实体类 | |
tableName | String | 否 | "" | 表名,如果不指定就会默认根据 MybatisPlus 的注解 |
primaryKey | String | 否 | "" | 主键名,这里默认是 id,如果找不到 id 也会根据 MybatisPlus 的注解 |
pkTypes | int | 否 | java.sql.Types.BIGINT | 主键数据库类型 |
operateType | int | 否 | DataOperateType.UPDATE | 操作类型 |
dataSource | String | 否 | "" | 多数据源,数据源 |
historyTableName | String | 否 | "sys_history_record" | 将要把历史记录保存到哪个表 |
DataOperateType
数据库操作类型常量
常量 | 值 | 说明 |
---|---|---|
OTHER | -1 | 其它 |
QUERY | 0 | 查询 |
INSERT | 1 | 新增 |
UPDATE | 2 | 修改 |
DELETE | 3 | 删除 |
CLEAN | 4 | 清空数据 |
dataSource
dataSource
如果不指定就会拿当前默认的数据源来操作,或者,如果有使用多数据源的注解 @DS 来改变也当前方法的数据源,这里就会默认使用 @DS 注解设置的数据源来操作数据 如果指定了就以这个指定的值优先级最高,所以优先级顺序大概是:
默认数据源 < @DS < dataSource
使用说明
一般放在MapperInterface
的接口的方法上
public interface EntityMapper extends BaseMapper<Entity> {
@RecordHistory(clazz = Entity.class, historyTableName = "entity")
default int updateByIdWithRecordHistory(Entity entity) {
return updateById(entity);
}
}
慎用
这个功能目前只能记录单表的一行数据的历史,注意是历史数据,也就是修改之前的数据