Skip to content

查询Count时,使用getObject()取数会报异常 #18

Closed
@wangda

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;

在我本地测试没有问题了。

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions