2017-03-17 409 views
2

我是SpringBoot中的新成員,並使用嵌入式數據庫H2創建應用程序。H2時間戳 - 始終插入(或獲取)當前日期

CREATE TABLE IF NOT EXISTS t_occurrence (
    id  bigint PRIMARY KEY, 
    where varchar(100), 
    when timestamp null 
); 

我使用這個類來插入值,但無論我插入我總是得到當前的日期,當我做occurrence.getWhen()

int numOfRowsAffected = jdbcTemplate.update(
    "insert into t_occurrence (ID, where, when) " 
    + " values (?,?,?);", 
    id, 
    occurrence.getWhere(), 
    occurrence.getWhen() 
); 

if (numOfRowsAffected==1) return id; 
else return -1; 

即使硬編碼的時間

int numOfRowsAffected = jdbcTemplate.update(
     "insert into t_occurrence (ID, where, when) " 
     + " values (?,?,''2012-09-17 18:47:52.69');", 
     id, 
     occurrence.getWhere(), 
     occurrence.getWhen() 
    ); 

    if (numOfRowsAffected==1) return id; 
    else return -1; 



public class Occurrence { 



private Long id; 


private Date when; 


private String where; 



public Long getId() { 

    return id; 

} 



public void setId(Long id) { 

    this.id = id; 

} 


public Date getWhen() { 

    return when; 

} 



public void setWhen(Date when) { 

this.when = when; 

} 



public String getWhere() { 

return where; 

} 



public void setWhere(String where) { 

this.where = where; 

} 

} 
+0

getWhen()如何在發生類中定義? –

回答

0

您應該使用不使用「時間戳」時的「日期」類型和「時間」類型

T 「timestamp」的類型是服務器自動通用的

+0

但日期時間未出現在H2類型: INT型 布爾類型 TINYINT類型 SMALLINT類型 BIGINT類型 標識類型 小數類型 DOUBLE類型 REAL類型 時類型 日期類型 TIMESTAMP類型WITH TIME TIMESTAMP區域類型 二進制類型 其他類型的 VARCHAR類型 VARCHAR_IGNORECASE類型 CHAR類型 BLOB類型 CLOB類型 UUID類型 ARRAY類型 GEOMETRY類型 – Stasky

+0

有H2類型的日期類型和時間類型 –

+0

時間類型如「hh:mm:ss」,DATE類型如「yyyy-MM-dd」 –