天天看點

@Temporal()注解的使用

資料庫的字段類型有date、time、datetime

而Temporal注解的作用就是幫Java的Date類型進行格式化,一共有三種注解值:

  第一種:@Temporal(TemporalType.DATE)——>實體類會封裝成日期“yyyy-MM-dd”的 Date類型。

  第二種:@Temporal(TemporalType.TIME)——>實體類會封裝成時間“hh-MM-ss”的 Date類型。

  第三種:@Temporal(TemporalType.TIMESTAMP)——>實體類會封裝成完整的時間“yyyy-MM-dd hh:MM:ss”的 Date類型。

@Temporal注解的定義:

@Target({ METHOD, FIELD })
@Retention(RUNTIME)
public @interface Temporal {
    /**
     * The type used in mapping <code>java.util.Date</code> or <code>java.util.Calendar</code>.
     */
    TemporalType value();
}      

TemporalType枚舉類型定義:

package javax.persistence;

/**
 * Type used to indicate a specific mapping of <code>java.util.Date</code>
 * or <code>java.util.Calendar</code>.
 *
 * @since Java Persistence 1.0
 */
public enum TemporalType {
    /**
     * Map as <code>java.sql.Date</code>
     */
    DATE,

    /**
     * Map as <code>java.sql.Time</code>
     */
    TIME,

    /**
     * Map as <code>java.sql.Timestamp</code>
     */
    TIMESTAMP
}      

應用example:

@Temporal()注解的使用
@Temporal()注解的使用

注解方式有兩種:

 寫在字段上:

@Temporal(TemporalType.TIMESTAMP)
    private Date birthday;      

  寫在 getXxx方法上:

@Temporal(TemporalType.DATE)
    @Column(name = "birthday", length = 10)
    public Date getBirthday() {
        return this.birthday;
    }      

資料庫的字段類型有date、time、datetime

而Temporal注解的作用就是幫Java的Date類型進行格式化,一共有三種注解值:

  第一種:@Temporal(TemporalType.DATE)——>實體類會封裝成日期“yyyy-MM-dd”的 Date類型。

  第二種:@Temporal(TemporalType.TIME)——>實體類會封裝成時間“hh-MM-ss”的 Date類型。

  第三種:@Temporal(TemporalType.TIMESTAMP)——>實體類會封裝成完整的時間“yyyy-MM-dd hh:MM:ss”的 Date類型。

@Temporal注解的定義:

@Target({ METHOD, FIELD })
@Retention(RUNTIME)
public @interface Temporal {
    /**
     * The type used in mapping <code>java.util.Date</code> or <code>java.util.Calendar</code>.
     */
    TemporalType value();
}      

TemporalType枚舉類型定義:

package javax.persistence;

/**
 * Type used to indicate a specific mapping of <code>java.util.Date</code>
 * or <code>java.util.Calendar</code>.
 *
 * @since Java Persistence 1.0
 */
public enum TemporalType {
    /**
     * Map as <code>java.sql.Date</code>
     */
    DATE,

    /**
     * Map as <code>java.sql.Time</code>
     */
    TIME,

    /**
     * Map as <code>java.sql.Timestamp</code>
     */
    TIMESTAMP
}      

應用example:

@Temporal()注解的使用
@Temporal()注解的使用
@Temporal(TemporalType.TIMESTAMP)
    private Date birthday;      
@Temporal(TemporalType.DATE)
    @Column(name = "birthday", length = 10)
    public Date getBirthday() {
        return this.birthday;
    }