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;