2009-10-05 94 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