java 审计功能_java数据库基类的实现 (基于Spring Data JPA提供的审计功能)

java数据库基类的实现

目的:

统一管理数据库共有字段,实现创建时间,创建人,修改时间,修改人的自动更新。

创建基础类:

@Data

@EntityListeners(AuditingEntityListener.class)

@MappedSuperclass

public class BaseModel {

@Id

@GeneratedValue(generator = "system-uuid")

@GenericGenerator(name = "system-uuid", strategy = "uuid")

private String id;

@CreatedDate

private Date createTime;

@CreatedBy

private String createName;

@LastModifiedDate

private Date lastChangeTime;

@LastModifiedBy

private String updateName;

}

注解说明:

(1)@Data:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法

(2)@EntityListeners(AuditingEntityListener.class):声明实体监听器:用于实体修改时做处理

(3)@MappedSuperclass:声明该类为实体父类·不会映射单独的表··而是把字段映射到子类表中

(4)@CreatedDate:表示该字段为创建时间时间字段,在这个实体被insert的时候,会自动为其赋值

(5)@CreatedBy:表示该字段为创建人,在这个实体被insert的时候,会自动为其赋值

(6)@LastModifiedDate、@LastModifiedBy同理。

创建子类

@Entity

@Table(name = "zzy_person")

@Data

public class Person extends BaseModel{

private String name;

private String qq;

private Integer age;

private String address;

}

实现AuditorAware接口

@Component

public class SpringSecurityAuditorAware implements AuditorAware {

@Value(value = "${user.name}")

private String userName;

@Override

public String getCurrentAuditor() {

return userName;

}

}

说明:此处由于自己是学习,因此选择将人员信息放在配置文件里面,这里直接引入,实现测试,实际开发中,一般都是调用方法获取人员信息,此处的实现可以根据自身需求修改。

注意事项:

需要在启动类上面注解:@EnableJpaAuditing

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值