1. 对于些系统在修改某些数据时要记录修改前、修改后、修改人、修改时间等。
以便后续好审计
2. pom.xml 引用
<dependency>
<groupId>com.daudit</groupId>
<artifactId>daudit-spring-boot-starter</artifactId>
<version>1.0.0-RELEASE</version>
</dependency>
3. 执行SQL脚本
/*==============================================================*/
/* Table: IT_COLUMN_UPDATE_LOG */
/*==============================================================*/
create table L_COLUMN_UPDATE_LOG
(
COLUMN_UPDATE_LOG_ID bigint(20) not null auto_increment comment '项目ID主键',
TABLE_NAME varchar(200) comment '关联表名' ,
REF_ID bigint(20) comment '关联ID' ,
COLUMN_NAME varchar(512) comment '列表' ,
SOURCE_VALUE varchar(512) comment '原值' ,
UPDATE_VALUE varchar(512) comment '修改值' ,
UPDATE_TIME datetime comment '修改时间' ,
UPDATE_USER varchar(100) comment '修改人' ,
constraint PK_COLUMN_UPDATE_LOG_ID primary key (COLUMN_UPDATE_LOG_ID)
);
4. 在application.yml配置是否开启此功能
way:表示是存储数据表还是log日志记录等。
daudit:
enable: true
way: db
5.在要记录审计日志的service方法上加上此注解
@EntityUpdateLog(entityName="project",primaryKeyIdName="projectId",serviceBeanClass = TbProjectServiceImpl.class, parseOperationUserclass = XbmOperationUserParser.class)
entityName :表示分类
primaryKeyIdName 表Java对象的主键ID名,以便找到其ID值。
serviceBeanClass 表示是哪个serviceBean,首先实现BaseAuditService接口,根据ID找到原对象值。
parseOperationUserclass 表示获取当前操作用户的用户名
6. 在实体对象上加注解,关注哪个属性的变化
@UpdatePropertyLog("状态")
private String status;