谁来帮我看看这个怎么改?
提示的错误是这样的:Cannot assign value of type'oracle.sql.Ttype'oracle.sql.TIMESTAMP' to property 'ts' of type 'java.sql.T'java.sql.Timestamp'
3回答
-
霜花似雪
从结果集中拿出的时间类型是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
oracle数据库字段 时间戳 对应的 java 是date数据类型。所以我在用jdbc对数据库进行操作时返回的resultset结果集在遍历使用时用来接收这个时间戳字段的应该是Date数据类型的变量或者对象属性