Joda-Time의 DateTime 타입을 MySQL에 파라메터로 전달하기

Java 소스 코드 작성시 날짜와 시간을 다룰 때 Java의 기본 API가 제공하는 java.util.Date 클래스를 사용하지 않고 Joda-Timeorg.joda.time.DateTime 클래스를 이용하는 편이다. 사용이 훨씬 편리하기 때문이다.


DateTime 클래스 사용시 주의할 점은 데이터베이스에 대한 CRUD 작업시 JDBC Driver를 이용하여 MySQL에 파라메터로 전달할 때 변환 작업이 필요하다. 변환 없이 그래도 파라메터로 전달하면 아래와 같은 오류를 출력한다.


com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value...


해답은 DateTime 객체를 yyyy-MM-dd HH:mm:ss 형식의 String 타입의 문자열 값으로 변환하는 것이다. 아래와 같이 변환하여 전달하면 오류가 발생하지 않는다. org.joda.time.format.DateTimeFormat 클래스 또한 Joda-Time이 제공하는 클래스이다.


DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").print(dateTimeObject);


저작자 표시 비영리 동일 조건 변경 허락
신고