어떤 시체가 Java Date를 Mysql datetime에 어떻게 저장할 수 있는지 말해 줄 수 있습니까?
내가 그렇게하려고 할 때 … 날짜 만 저장되고 시간은 다음과 같이 Mysql 날짜 저장소에 00:00:00으로 유지됩니다 …
2009-09-22 00:00:00
데이트뿐 아니라 시간도 원해 …
2009-09-22 08:08:11
Spring mydomain 클래스와 함께 JPA (Hibernate)를 사용하고 있지만 java.util.Date를 사용하지만 필기 쿼리를 사용하여 테이블을 만들었습니다.
이것은 내 작성 진술입니다
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이고 성공한 열에 삽입되었습니다.
답변
다음과 같이 필드 (또는 게터)에 주석을 추가합니다 @Temporal(TemporalType.TIMESTAMP)
.
public class MyEntity {
...
@Temporal(TemporalType.TIMESTAMP)
private java.util.Date myDate;
...
}
그게 트릭을해야합니다.
답변
아마도 사용하고 java.sql.Date
있습니까? Java 클래스 (의 하위 클래스 java.util.Date
, 잘못된 설계 결정) 로 밀리 초 단위로 세분화되지만 JDBC 드라이버는 시간 구성 요소가없는 날짜로 해석됩니다. java.sql.Timestamp
대신 사용해야 합니다.
답변
아마도 자바 날짜가 mysql format
( YYYY-MM-DD HH:MM:SS
) 와 다른 형식을 가지고 있기 때문일 것입니다.
이 작업을 수행
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date));
답변
2011-07-18 + 시간 형식이 표시됩니다.
long timeNow = Calendar.getInstance().getTimeInMillis();
java.sql.Timestamp ts = new java.sql.Timestamp(timeNow);
...
preparedStatement.setTimestamp(TIME_COL_INDEX, ts);
답변
mysql datetime-> GregorianCalendar
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse("2012-12-13 14:54:30"); // mysql datetime format
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(date);
System.out.println(calendar.getTime());
GregorianCalendar-> mysql datetime
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String string = format.format(calendar.getTime());
System.out.println(string);
답변
java.util.Date date = new Date();
Object param = new java.sql.Timestamp(date.getTime());
preparedStatement.setObject(param);