дата вставки Java в базу данных - PullRequest
2 голосов
/ 05 октября 2009

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

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

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

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

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

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

С уважением

Ответы [ 3 ]

2 голосов
/ 05 октября 2009

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

1 голос
/ 05 октября 2009

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

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

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

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

0 голосов
/ 05 октября 2009

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

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