【问题标题】:DBUtils cannot convert string to dateDBUtils 无法将字符串转换为日期
【发布时间】:2014-09-24 01:30:34
【问题描述】:

我正在使用 apache dbutils。我有一个带有 java.util.Date 属性的对象。当我执行以下代码时,sql 失败

select name, startDate from myTable

      try {
        QueryRunner run ;
        run = new QueryRunner();

        ResultSetHandler h = new BeanListHandler(clazz);
        ArrayList<T> result ;
        result = (ArrayList) run.query(connection, sql, h);
        return result;
    } catch (SQLException ex) {
        Logger.getLogger(AbstractDataMapper.class.getName()).log(Level.SEVERE, null, ex);
        throw new AppException("Sql fetch failed for: " + sql,ex);
    }

}

我查看了代码,发现 BeanProcessor、processColumn 正在遍历除 Date 之外的所有属性。对于 Date,它正在调用 rs.getObject(index)。根据我的调试器,这会返回字符串并导致设置失败。有什么想法吗?

更换驱动程序?我正在使用 jtds 1.2.5。它应该为 getObject 方法返回 Date 吗?

【问题讨论】:

    标签: java jtds apache-commons-dbutils


    【解决方案1】:

    我尝试更改 jtds 驱动程序版本,但没有成功。一旦我将数据类型从日期更改为日期时间,它就可以毫无问题地开始工作。我也试过 datetime2 看看它是否会起作用。不行...万一有人遇到这个问题...后端是 SQLServer 2008R2 db。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-10
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      • 2015-04-27
      相关资源
      最近更新 更多