2016-04-12 184 views
0

在進行JUnit測試時,我必須將值插入到數據庫中。爲了做到這一點,我有一個文件(import.sql),其中包含各種測試的插入。它對日期有完美的期望。我將如何格式化日期,以便MySQL能夠將它們作爲日期導入。將日期插入到MySQL

從import.sql

INSERT INTO TEST (START, END) VALUES ('2015-07-20 22:00:00.000', '2015-07-20 23:30:00.000') 
INSERT INTO TEST (START, END) VALUES ('2015-08-18 21:00:00.000', '2015-08-18 22:30:00.000') 

在這種情況下2015-08-18 21:00:00.000的java的實體

import java.util.Date; 

@Entity 
@Table(name = "TEST") 
public class Test { 

    @Column(name = "START") 
    @Temporal(TemporalType.DATE) 
    private Date startDate; 

    @Column(name = "END" 
    @Temporal(TemporalType.DATE) 
    private Date endDate; 

    // getter & setter 
}  

片段,但這不起作用。它會導致錯誤,說明格式不正確。

從import.sql

<property name="javax.persistence.sql-load-script-source" 
     value="import.sql" /> 

加載如何把日期格式?

+0

只需使用「2015-07-20 22:00:00」,即可剝掉末尾秒的小數部分。 – Shadow

+0

@Shadow非常感謝。有效。您可能希望將其作爲答案發布,以便我可以接受它。 – arcs

回答

1

只要使用'2015-07-20 22:00:00',如果您沒有以任何方式使用它們,那麼剝掉末尾的小數部分。部分第二支持已在v5.6.4中添加,因此如果您有早期版本,則可能會遇到兼容性問題。

2

要匹配輸入值2015-08-18 21:00:00.000,START字段和END字段類型應爲DATETIME(3)

+0

謝謝。這可行,但我更喜歡@Shadow的解決方案,因爲它更容易 – arcs