java.time
Если ваш драйвер JDBC поддерживает JDBC 4.2 или более поздней версии, он может обрабатывать типы java.time , которые вытесняют старый java.util. Типы Date / .Calendar и java.sql. Вызовите метод setObject
для PreparedStatement
и getObject
для ResultSet
.
Типы только для даты будут отображаться в Java как java.time.LocalDate
. Типы с указанием времени суток будут отображаться в Java как java.time.LocalTime
. Отметка времени (дата-время) будет отображаться как java.time.Instant
.
Если ваш драйвер еще не предлагает такую поддержку, вернитесь к использованию java.sql
типов, как показано в правильный ответ Matt Ball . Затем немедленно конвертируйте в типы java.time. Выполните свою бизнес-логику в типах java.time; использовать типы java.sql только для обмена данными с базой данных. Посмотрите на новые методы, добавленные в старые классы для удобных преобразований.
LocalDate ld = myJavaSqlDate.toLocalDate() ;
LocalTime lt = myJavaSqlTime.toLocalTime() ;
Instant instant = myJavaSqlTimestamp.toInstant() ;
Идя в другом направлении, посмотрите на методы valueOf
или from
.