Даты JDBC устарели в Java (пакет java.sql) - PullRequest
2 голосов
/ 20 мая 2009

Я работаю с JDBC и MySQL. У меня есть столбец даты, который мне нужно включить в мой набор результатов. К сожалению, я не могу найти класс в Java для получения даты. Класс SQL Date устарел. Как вы получаете объекты Date из набора результатов?

Ответы [ 4 ]

19 голосов
/ 20 мая 2009

Вы используете java.sql.Date . Конструктор и некоторые методы устарели. Класс не Смущенный этим, скажем, java.util.Date или java.util.Calendar ? Посмотрите на Смысл дат Java .

Существует три типа даты / времени JDBC:

Путаница, вероятно, связана с тем, что java.sql.Date расширяет java.util.Date и, таким образом, наследует устаревшие методы.

Просто используйте правильный тип для типа вашего столбца.

3 голосов
/ 20 мая 2009

Я не думаю, что сам класс java.sql.Date устарел, только один из его конструкторов. Вы должны быть в безопасности, чтобы продолжать использовать его.

2 голосов
/ 23 декабря 2009

Старый пост, но в любом случае:

У меня были проблемы с гранулярностью java.util.Date, и я переключился на java.util.Timestamp. Я также испытал ограниченную детализацию с типом отметки времени (до секунд).

Столбцы в базе данных объявлены как Дата, и чтобы получить дополнительную часть времени, я извлек ее как Отметку времени. Проблема в том, что оно усекает значение до секунд.

Я исследовал определение Oracle по умолчанию для метки времени, которое допускает 6 дробных цифр.

Я думаю, что часть Date в определении оракула ограничивает часть метки времени в Java ...

Cheers, Гражина

1 голос
/ 20 мая 2009

Вы можете безопасно использовать класс java.sql.Date для сопоставления вашего типа MySQL DATE. Класс java.sql.Date расширяет класс java.util.Date, поэтому вы можете использовать этот объект для выполнения всех типов вычислений дат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...