使用MySQL 5.5,STS 2.9.2,mysql-connector-java-5.1.21-bin.jar
我想从ResultSet中获取一个数组.
所以我编码如下:
try {
Connection conn = DriverManager.getConnection(url, id, pass);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
if (rs.next()) {
Array code = rs.getArray("code");
Array count = rs.getArray("count");
Object objCode = code.getArray();
Object objCount = count.getArray();
int[] itemCode = (int[]) objCode;
int[] itemCount = (int[]) objCount;
// do something
}
conn.close();
stmt.close();
rs.close();
} catch(SQLException e) {
printError(e);
}
Run Code Online (Sandbox Code Playgroud)
然后,我得到了SQLFeatureNotSupportedException在getArray().
如果我删除该行,则不会给出该异常.
我搜索了它,我发现那是因为JDBC驱动程序不支持这种方法.我无法理解它的内容,我该如何解决这个问题?
小智 5
.getArray方法获取ARRAY SQL数据类型.像这样:.getDecimal获取DECIMAL SQL数据类型等等...... MySQL(例如)不支持ARRAY数据类型.因此,Java报告:功能不受支持.
如果要将所有字段作为索引数组获取,请在索引1处使用.getString(1)作为VARCHAR列值.
示例查询:SELECT id,title FROM news WHERE id = 1;
因此,您可以使用.getInt(1)获取id,使用.getString(2)获取title.
这就是我可以说的那些)))
| 归档时间: |
|
| 查看次数: |
2141 次 |
| 最近记录: |