在进行JUnit测试时,我必须将值插入数据库。为此,我有一个文件(import.sql),其中包含各种测试的各种插入。它完美适用于约会。我如何格式化日期,以便MySQL能够将它们作为日期导入。
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的片段
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
,但这不起作用。它会导致错误,告知格式不正确。
从import.sql加载
<property name="javax.persistence.sql-load-script-source"
value="import.sql" />
如何格式化日期?
答案 0 :(得分:2)
要匹配输入值2015-08-18 21:00:00.000
,START
字段和END
字段类型应为DATETIME(3)
。
答案 1 :(得分:1)
只需使用'2015-07-20 22:00:00',如果您没有以任何方式使用它们,请从最后删除秒的一小部分。 v5.6.4中添加了小数秒支持,因此如果您有早期版本,则可能存在兼容性问题。