Какое-либо тело может сказать мне, как я могу сохранить Дату Java к дате и времени Mysql...?
Когда я пытаюсь сделать так... только дата хранится, и время остаются 0:00:00 в хранилищах даты Mysql как это...
2009-09-22 00:00:00
Я хочу не только дату, но также и время... как
2009-09-22 08:08:11
Я использую JPA (В спящем режиме) с пружиной mydomain, классы использует java.util. Дата, но я составил таблицы с помощью рукописных запросов...
это - мой создавать оператор
CREATE TABLE ContactUs (id BIGINT auto_increment,
userName VARCHAR(30),
email VARCHAR(50),
subject VARCHAR(100),
message VARCHAR(1024),
messageType VARCHAR(15),
contactUsTime datetime,
primary key(id))
TYPE=InnoDB;
см. в ссылке :
http://www.coderanch.com/t/304851/JDBC/java/Java-date-MySQL-date-conversion
Следующий код просто решил проблему:
java.util.Date dt = new java.util.Date();
java.text.SimpleDateFormat sdf =
new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = sdf.format(dt);
Этот 'currentTime' был вставлен в колонку, тип которой был DateTime, и это было успешно.
Возможно, вы используете java.sql.Date
? Хотя этот класс Java имеет миллисекундную детализацию (это подкласс java.util.Date
, плохое проектное решение), он будет интерпретирован драйвером JDBC как дата без компонента времени. Вместо этого вы должны использовать java.sql.Timestamp
.
Вероятно, потому что ваша дата Java имеет формат, отличный от формата MySQL
( ГГГГ-ММ-ДД ЧЧ: ММ: СС
)
сделать это
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date));
Аннотируйте ваше поле (или геттер) с помощью @Temporal(TemporalType.TIMESTAMP)
, например так:
public class MyEntity {
...
@Temporal(TemporalType.TIMESTAMP)
private java.util.Date myDate;
...
}
Это должно помочь.