有人可以告诉我将java日期实例插入数据库的优雅方法吗?
目前,我正在使用带有Spring MVC的IBATIS。 我在控制器的命令bean和属性编辑器中为Date转换定义了一个java.util.date属性,但是我无法在DB中插入java.util.date属性。
我应该将其转换为java.sql.date实例以便存储在DB中吗?
如果我必须转换,那么在哪里编写转换代码(DAO,...)?
我是J2EE新手,因此很难处理日期对象。
任何帮助?
问候
答案 0 :(得分:2)
我不得不说我不熟悉iBATIS ...但是通过查看documentation(第27页),您可以在XML映射中添加jdbcType
属性,并具体告诉ORM框架使用什么类型。
答案 1 :(得分:1)
除非您使用Pache Derby / javadb作为数据库,否则数据库的DATE类型与Java的日期类无关。
此外,数据库系统之间没有DATE类型的标记。爷爷DB2使用'yyyy-mm-dd'作为外部String格式,此约定后跟Sybase,因此SQLServer和odbc。但是DATEFORMAT很容易 在SQLServer配置中被覆盖,因此它几乎可以像任何东西一样。
ORACLEs数据库的默认日期格式是在安装时设置的,几乎可以 任何事情都取决于安装人员的心血来潮。
大多数ORM(不太熟悉IBATIS)可以配置为在您知道目标DB2期望之后处理这些日期转换。
答案 2 :(得分:0)
这里有很多示例代码的很好的介绍:http://www.javalobby.org/articles/ibatis-introduction/