【问题标题】:java inserting date into databasejava将日期插入数据库
【发布时间】:2009-10-05 06:41:13
【问题描述】:

有人可以告诉我将 java 日期实例插入数据库的优雅方法吗?

目前,我正在将 IBATIS 与 Spring MVC 一起使用。 我在命令 bean 中定义了 java.util.date 属性,并在控制器中的属性编辑器中定义了用于日期转换的属性,但是我无法在 DB 中插入 java.util.date 属性。

我应该把它转换成 java.sql.date 实例以便存储在数据库中吗?

如果我必须转换,那么转换代码在哪里写(DAO,...)?

我是 J2EE 新手,对处理日期对象很困惑。

有什么帮助吗?

问候

【问题讨论】:

标签: java database model-view-controller spring date


【解决方案1】:

我不得不说我不熟悉 iBATIS...但是通过他们的documentation(第 27 页),您可以在您的 XML 映射中添加一个jdbcType 属性,并专门告诉 ORM 框架要使用什么类型使用。

【讨论】:

    【解决方案2】:

    除非您使用 Pache Derby/javadb 作为数据库,否则数据库的 DATE 类型与 Java 的 Date 类无关。

    此外,数据库系统之间没有 DATE 类型的标准化。祖父 DB2 使用 'yyyy-mm-dd' 作为外部字符串格式,Sybase 遵循此约定,因此 SQLServer 和 odbc 也遵循此约定。但是 DATEFORMAT 可以很容易地 在 SQLServer 配置中被覆盖,因此它几乎可以作为任何东西结束。

    一个 ORACLEs 数据库的默认日期格式是在安装时设置的,几乎可以 一切都取决于安装者的心血来潮。

    大多数 ORM(不太熟悉 IBATIS)可以配置为处理这些日期转换,只要您知道 DB2 期望的目标。

    【讨论】:

    • 谢谢詹姆斯,我想,ibatis 不提供日期转换的配置。那么,如何处理 java.sql.date 类是否需要将 java.util.date 转换为 sql.date 才能将其存储在 DB 中?
    • 顺便说一句,我的意思是 DB 数据库,它不是 DB2。对不起!
    【解决方案3】:

    这里有很多示例代码的很好的介绍:http://www.javalobby.org/articles/ibatis-introduction/

    【讨论】:

      猜你喜欢
      • 2010-11-08
      • 2011-04-06
      • 2011-02-28
      • 1970-01-01
      • 2016-04-22
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多