0

我正在使用 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 吗?

4

1 回答 1

2

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

于 2014-07-31T23:05:56.383 回答