将日期插入 MySQL
Inserting dates into MySQL
在进行 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" />
日期是如何格式化的?
要匹配输入值 2015-08-18 21:00:00.000
,START
字段和 END
字段类型应为 DATETIME(3)
.
只需使用“2015-07-20 22:00:00”,如果您不以任何方式使用它们,则从末尾去掉秒数。在v5.6.4中加入了小数秒的支持,所以如果你有更早的版本可能会有兼容性问题。
在进行 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" />
日期是如何格式化的?
要匹配输入值 2015-08-18 21:00:00.000
,START
字段和 END
字段类型应为 DATETIME(3)
.
只需使用“2015-07-20 22:00:00”,如果您不以任何方式使用它们,则从末尾去掉秒数。在v5.6.4中加入了小数秒的支持,所以如果你有更早的版本可能会有兼容性问题。