从 Apache Commons DBUtils 获取日期列表
Getting a List of Dates from Apache Commons DBUtils
我正在尝试使用 Apache Commons DBUtils 从 table 中获取日期列表。
这种查询适用于字符串和我自己的 POJO,但由于某些原因不适用于 java.sql.Date。
CALENDAR_DATE in PUBLIC_HOLIDAYS 是一个有效的日期字段。
查询:
select CALENDAR_DATE TIME from PUBLIC_HOLIDAYS where CALENDAR_DATE between ? and ?
Java代码
ResultSetHandler<List<java.sql.Date>> h = new BeanListHandler<>(java.sql.Date.class);
QueryRunner db = new QueryRunner(dataSource,true);
List<java.sql.Date> sqlDates = db.query(sql, h,new java.sql.Date(from.getTime()),new java.sql.Date(to.getTime()));
答案是构建您自己的 ResultSetHandler。也许有更简单的方法,但我找不到。
ResultSetHandler<List<java.sql.Date>> h = new ResultSetHandler<List<java.sql.Date>>() {
public List<java.sql.Date> handle(ResultSet rs) throws SQLException {
List<java.sql.Date> result = new ArrayList<java.sql.Date>();
while (rs.next()) {
result.add(rs.getDate(1));
}
return result;
}
};
List<java.sql.Date> sqlDates = db.query(sql, h,new java.sql.Date(from.getTime()),new java.sql.Date(to.getTime()));
我正在尝试使用 Apache Commons DBUtils 从 table 中获取日期列表。 这种查询适用于字符串和我自己的 POJO,但由于某些原因不适用于 java.sql.Date。
CALENDAR_DATE in PUBLIC_HOLIDAYS 是一个有效的日期字段。
查询:
select CALENDAR_DATE TIME from PUBLIC_HOLIDAYS where CALENDAR_DATE between ? and ?
Java代码
ResultSetHandler<List<java.sql.Date>> h = new BeanListHandler<>(java.sql.Date.class);
QueryRunner db = new QueryRunner(dataSource,true);
List<java.sql.Date> sqlDates = db.query(sql, h,new java.sql.Date(from.getTime()),new java.sql.Date(to.getTime()));
答案是构建您自己的 ResultSetHandler。也许有更简单的方法,但我找不到。
ResultSetHandler<List<java.sql.Date>> h = new ResultSetHandler<List<java.sql.Date>>() {
public List<java.sql.Date> handle(ResultSet rs) throws SQLException {
List<java.sql.Date> result = new ArrayList<java.sql.Date>();
while (rs.next()) {
result.add(rs.getDate(1));
}
return result;
}
};
List<java.sql.Date> sqlDates = db.query(sql, h,new java.sql.Date(from.getTime()),new java.sql.Date(to.getTime()));