Closed
Description
现象:
SQL: select count(*) as cnt from tbl;
如果我使用 ResultSet.getLong()
或 getInt()
都可以。
但是如果我使用 getObject()
,就会报异常:
ShardingJdbcException("Unsupported data type:%s", convertType)
原因:
s-jdbc
在聚合Merge
时,会根据调用方法的返回值来转换merge
的结果,当调用getObject()
取Number
类型结果时,就需要将Number
转为Object
了,现在s-jdbc
直接报不支持的类型。
修改方法:
对于返回类型为Object
时,直接将Number
值返回。
代码位置:
com/dangdang/ddframe/rdb/sharding/merger/common/ResultSetUtil.java
convertNumberValue
方法:
我给增加了
case "java.lang.Object":
return value;
在我本地测试没有问题了。