为了账号安全,请及时绑定邮箱和手机立即绑定

谁来帮我看看这个怎么改?

谁来帮我看看这个怎么改?

提示的错误是这样的: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;
  }
}

查看完整回答
反对 回复 2017-08-03
?
ChinaLee

TA贡献13条经验 获得超4个赞

oracle数据库字段 时间戳 对应的 java 是date数据类型。所以我在用jdbc对数据库进行操作时返回的resultset结果集在遍历使用时用来接收这个时间戳字段的应该是Date数据类型的变量或者对象属性

查看完整回答
反对 回复 2017-08-03
  • 3 回答
  • 0 关注
  • 2887 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信