import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import java.io.Serializable;
import java.time.LocalDateTime;
//Spring Data JPA 的时间注解
/**
 * @author Search
 * @version 1.0
 * @date 2019/9/2 10:25
 */
@Entity
@EntityListeners(AuditingEntityListener.class)
public class Base implements Serializable {
    
    //选择 Spring Data JPA 框架开发时,常用在实体和字段上的注解有@Entity、@Id、@Column等。在表设计规范中,通常建议保留的有两个字段,一个是更新时间,一个是创建时间。Spring Data JPA 提供了相应的时间注解,只需要两步配置,就可以帮助开发者快速实现这方面的功能。

//在实体类上加上注解 @EntityListeners(AuditingEntityListener.class),在相应的字段上添加对应的时间注解 @LastModifiedDate 和 @CreatedDate

//日期类型可以用 Date 也可以是 Long

    private static final long serialVersionUID = 7297611707550474985L;

    @Id
    private String id;//ID

    /**
     * 更新时间 日期类型可以是 Long
     */
    @LastModifiedDate
    @Column(name = "update_time",nullable = false)
    private LocalDateTime updateTime;

    /**
     * 创建时间 日期类型可以是 Long
     * name 对应数据库中字段名
     * updatable = false 更新数据时不更新该字段
     * nullable = false 数据库中不允许为null
     */
    @CreatedDate
    @Column(name = "create_time",updatable = false, nullable = false)
    private LocalDateTime createTime;

    
}
2//启动类添加  @EnableJpaAuditing

在Application启动类中添加注解 @EnableJpaAuditing
@EnableJpaAuditing
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
    
}


spring 注解验证 常用标签

@Null  被注释的元素必须为null
@NotNull  被注释的元素不能为null
@NotEmpty  被注释的字符串必须非空
@AssertTrue  被注释的元素必须为true
@AssertFalse  被注释的元素必须为false
@Length 被注释的字符串的大小必须在指定的范围内 
@Digits(integer,fraction)  被注释的元素必须是一个数字,其值必须在可接受的范围内
@Min(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max,min)  被注释的元素的大小必须在指定的范围内。
@Past  被注释的元素必须是一个过去的日期
@Future  被注释的元素必须是一个将来的日期
@Pattern(value) 被注释的元素必须符合指定的正则表达式。
@Email 被注释的元素必须是电子邮件地址
@Range  被注释的元素必须在合适的范围内
@URL(protocol=,host,port) 检查是否是一个有效的URL,如果提供了protocol,host等,则该URL还需满足提供的条件




SpringBoot的Web组件内部集成了hibernate-validator,所以我们这里并不需要额外的为验证再导入其他的包,接下来我们先来看看SpringBoot为我们提供了哪些验证。

内置验证
SpringBoot因为采用了hibernate-validator,所以我们直接使用hibernate-validator就可以进行数据校验



````````