提示的错误是这样的:Cannot assign value of type'oracle.sql.Ttype'oracle.sql.TIMESTAMP' to property 'ts' of type 'java.sql.T'java.sql.Timestamp'
3 回答
霜花似雪
TA贡献36条经验 获得超19个赞
从结果集中拿出的时间类型是oracle.sql.TIMESTAMP,如果直接resultSet.getTimestamp(index)可以由resultSet类自己实现转换,但如果在resultSet里取出Object,再实行转换就无法直接与java的标准类对号入座了
利用反射解决的方法:
private Timestamp getOracleTimestamp(Object value) {
try {
Class clz = value.getClass();
Method method = clz.getMethod("timestampValue", null);
//method = clz.getMethod("timeValue", null); 时间类型
//method = clz.getMethod("dateValue", null); 日期类型
return (Timestamp) m.invoke(value, null);
} catch (Exception e) {
return null;
}
}
ChinaLee
TA贡献13条经验 获得超4个赞
oracle数据库字段 时间戳 对应的 java 是date数据类型。所以我在用jdbc对数据库进行操作时返回的resultset结果集在遍历使用时用来接收这个时间戳字段的应该是Date数据类型的变量或者对象属性
添加回答
举报
0/150
提交
取消