2009-10-05 189 views
2

有人可以告訴我插入java日期實例到數據庫的優雅方式嗎?java插入日期到數據庫

目前,我正在使用IBATIS和Spring MVC。 我已經在控制器的命令bean和屬性編輯器中爲Date轉換定義了java.util.date屬性,但是我無法在數據庫中插入java.util.date屬性。

我應該將它轉換成java.sql.date實例以便存儲在數據庫中嗎?

如果我必須轉換,那麼在哪裏編寫轉換代碼(DAO,...)?

我是J2EE新手,對處理日期對象很困惑。

有幫助嗎?

問候

+0

你可以提供更多關於你爲什麼不能插入的細節嗎? – Yuval 2009-10-05 07:29:45

+0

查看類似的問題,[Java日期 - 插入數據庫](http://stackoverflow.com/q/1081234/642706)。 – 2015-07-03 19:02:54

回答

2

我不得不說,我不熟悉iBATIS的......但看通過他們的documentation(第27頁),您可以添加jdbcType屬性到你的XML映射,並特別告訴ORM框架使用什麼類型。

+0

嘿,它的工作人員 非常感謝。 – ernesto 2009-10-05 09:34:12

1

除非你使用帕什德比/ JavaDB之外的數據庫,則數據庫的日期類型無關Java的Date類。

此外,數據庫系統之間不存在DATE類型的標準化。祖父DB2使用'yyyy-mm-dd'作爲外部字符串格式,這個約定之後是Sybase,因此是SQLServer和odbc。但是,DATEFORMAT可以輕鬆地在SQLServer配置中重寫 ,因此它幾乎可以結束任何事情。

ORACLEs數據庫默認日期格式在安裝時設置,根據安裝程序的興趣可能幾乎是 。

大多數ORM(不太熟悉IBATIS)可以配置爲處理這些日期轉換,一旦您知道了DB2預期的目標。

+0

謝謝詹姆斯, 我認爲,ibatis不提供日期轉換的配置。 因此,如何處理java.sql.date類是否需要將java.util.date轉換爲sql.date才能將其存儲在數據庫中? – ernesto 2009-10-05 07:22:33

+0

順便說一句,我的意思是數據庫由DB它不是DB2。抱歉! – ernesto 2009-10-05 07:24:27