package com.w11k.lsql.converter.sqltypes; import com.w11k.lsql.LSql; import com.w11k.lsql.converter.Converter; import org.joda.time.DateTime; import java.sql.*; public class JodaDateConverter extends Converter { public static final JodaDateConverter INSTANCE = new JodaDateConverter(); public JodaDateConverter() { super( DateTime.class, new int[]{Types.TIMESTAMP}, Types.TIMESTAMP ); } @Override protected void setValue(LSql lSql, PreparedStatement ps, int index, Object val) throws SQLException { DateTime dt = (DateTime) val; Timestamp ts = new Timestamp(dt.getMillis()); ps.setTimestamp(index, ts); } @Override protected Object getValue(LSql lSql, ResultSet rs, int index) throws SQLException { Timestamp timestamp = rs.getTimestamp(index); if (timestamp != null) { return new DateTime(timestamp.getTime()); } else { return null; } } }