Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Java вставляет дату в базу данных

Автор вопроса: ernestoОтветов: 3

может кто-нибудь рассказать мне элегантный способ вставки экземпляра даты Java в базу данных?

в настоящее время я использую IBATIS с Spring MVC. я определил свойство java.util.date в командном компоненте и редакторе свойств в контроллере для преобразования даты, однако я не могу вставить свойство java.util.date в БД.

я должен преобразовать это в экземпляр java.sql.date для хранения в БД?

если мне нужно конвертировать, то куда писать код конвертации(DAO,...)?

я новичок в J2EE, поэтому довольно запутался с обработкой объектов даты.

любая помощь?

С уважением

  • Можете ли вы дать более подробную информацию о том, почему вы не можете вставить? Yuval 05.10.2009
  • См. аналогичный вопрос, Дата Java - вставить в базу данных. Basil Bourque 03.07.2015

javaspringdatabasedatemodel-view-controller

Ответы

Ответ 1 · рейтинг 2 · Yuval

Должен сказать, что я не знаком с iBATIS... Но просматривая их documentation (стр. 27), вы можете добавить атрибут jdbcType к своему XML-сопоставлению и конкретно сообщить платформе ORM, какой тип использовать .

Ответ 2 · рейтинг 1 · James Anderson

Если вы не используете Pache Derby/javadb в качестве базы данных, то тип DATE базы данных не имеет ничего общего с классом Date в Java.

Кроме того, нет стандартизации типа DATE между системами баз данных. Дедушка DB2 использует "гггг-мм-дд" в качестве внешнего формата строки, этому соглашению следовали Sybase и, следовательно, SQLServer и odbc. Однако DATEFORMAT можно легко переопределить в конфигурации SQLServer, поэтому он может оказаться почти любым.

Формат даты по умолчанию для баз данных ORACLE устанавливается во время установки и может быть практически любым в зависимости от прихоти установщика.

Большинство ORM (не очень хорошо знакомых с IBATIS) можно сконфигурировать для обработки этих преобразований дат, если вы знаете, чего ожидает целевая DB2.

Ответ 3 · Philip Davis

Здесь есть хорошее введение с большим количеством примеров кода: http://www.javalobby.org/articles/ibatis-introduction/

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы