Musíte použít metody getTime() nebo getTimestamp(), jak navrhuje Thomas v komentáři. Abych uvedl příklad...
Řekněme pro tabulku, na kterou se dotazujete takto:rs = stmt.executeQuery("select timeCol, dateCol, dateTimeCol from dateTimeTable");
Můžete udělat:
java.sql.Time dbSqlTime = rs.getTime(1);
java.sql.Date dbSqlDate = rs.getDate(2);
java.sql.Timestamp dbSqlTimestamp = rs.getTimestamp(3);
Pokud chcete použít objekt data Java:
java.util.Date dbSqlTimeConverted = new java.util.Date(dbSqlTime.getTime());
java.util.Date dbSqlDateConverted = new java.util.Date(dbSqlDate.getTime());
Také bych se podíval na JodaTime pro práci s Dates v Javě, dělá život mnohem jednodušší.
Nakonec stojí za zmínku, že mezi Timestamp a DateTime v MySQL je několik rozdílů. Konkrétně, že Timestamp má časové pásmo a server vrátí dotazované Timestamp v místním čase serveru (což může být nepříjemné). Moje rada je používat DateTime a vždy udržovat data/časy ve stejném časovém pásmu (tj. UTC). Viz http://dev.mysql.com/doc/refman/ 5.0/en/datetime.html