一.application.properties配置文件
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2b8
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.database=mysql
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
二.实体类
在实体类上面添加@Entity和@EntityListeners(AuditingEntityListener.class)注解,
在createDate和updateDate字段上分别添加@CreatedDate和@LastModifiedDate注解
@Data
@Entity
@EntityListeners(AuditingEntityListener.class)
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(unique = true)
private String phone;
private String password;
@CreatedDate
private Date createDate;
@LastModifiedDate
private Date updateDate;
}
三.启动类
在springboot启动类上面添加@EnableJpaAuditing注解
@SpringBootApplication
@EnableJpaAuditing
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(QbtApplication.class, args);
}
}
@EnableJpaAuditing
表示开启审计功能。 支持在字段或者方法上进行注解 @CreateDate
、@CreatedBy
、@LastModifiedDate
、@LastModifiedBy
可以通过
实现AuditorAware
接口:
自定义配置类实现AuditorAware
接口,重写getCurrentAuditor方法,给CreatedBy和LastModifiedBy赋值。本代码使用的是Security安全框架,所以通过Security即可获取用户名。