【问题标题】:JDBC ResultSet to a DataTable in Google Visualization API?JDBC ResultSet 到 Google Visualization API 中的 DataTable?
【发布时间】:2012-03-14 01:28:06
【问题描述】:
是否有将 JDBC ResultSet 转换为 Google Visualization DataTable 对象的通用方法?
似乎会有这样的事情使用 ResultSetMetaData 创建ColumnDescription 对象,然后迭代填充行。但该死的,如果我能通过谷歌搜索找到它。
由于ResultSetMetaData 和 DataTable 都有很多特殊属性,所以在开始编写自定义方法的花园路径之前,想在这里仔细检查一下。
【问题讨论】:
标签:
java
jdbc
google-api
google-visualization
【解决方案1】:
com.google.visualization.datasource.util.SqlDataSourceHelper 类有两个静态方法 buildColumns() 和 buildRows() 来处理这个问题:
...
ResultSet rs = stmt.executeQuery(queryString);
DataTable table = buildColumns(rs, columnIdsList);
buildRows(table, rs);
return table;
这些是从顶级方法executeQuery(...) 调用的,然后调用类中的其他方法,这些方法处理各种翻译步骤。据说只适用于 MySQL,但代码足够透明,可以针对其他目标数据库进行自定义。
sqlTypeToValueType(metaData.getColumnType(i));