Как сохранить Дату Java к дате и времени Mysql …?

Какое-либо тело может сказать мне, как я могу сохранить Дату 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;
97
задан Haim Evgi 19 June 2013 в 10:21
поделиться

4 ответа

см. в ссылке :

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, и это было успешно.

158
ответ дан 24 November 2019 в 05:20
поделиться

Возможно, вы используете java.sql.Date ? Хотя этот класс Java имеет миллисекундную детализацию (это подкласс java.util.Date , плохое проектное решение), он будет интерпретирован драйвером JDBC как дата без компонента времени. Вместо этого вы должны использовать java.sql.Timestamp .

37
ответ дан 24 November 2019 в 05:20
поделиться

Вероятно, потому что ваша дата Java имеет формат, отличный от формата MySQL ( ГГГГ-ММ-ДД ЧЧ: ММ: СС )

сделать это

 DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
 Date date = new Date();
 System.out.println(dateFormat.format(date));
7
ответ дан 24 November 2019 в 05:20
поделиться

Аннотируйте ваше поле (или геттер) с помощью @Temporal(TemporalType.TIMESTAMP), например так:

public class MyEntity {
    ...
    @Temporal(TemporalType.TIMESTAMP)
    private java.util.Date myDate;
    ...
}

Это должно помочь.

87
ответ дан 24 November 2019 в 05:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: