gpt4 book ai didi

java - getArray 上的 SQLFeatureNotSupportedException

转载 作者:行者123 更新时间:2023-11-29 04:10:40 29 4
gpt4 key购买 nike

使用 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);
}

然后,我在 getArray() 处得到了一个 SQLFeatureNotSupportedException

如果我删除该行,它不会给出该异常。

我google了一下,发现是因为JDBC驱动不支持这个方法。我不明白它说的是什么,我该如何解决这个问题?

最佳答案

.getArray 方法获取 ARRAY SQL 数据类型。像那样:.getDecimal 获取 DECIMAL SQL 数据类型等等...... MySQL(例如)不支持 ARRAY 数据类型。因此,Java 报告:不支持的功能。

如果要获取所有字段作为索引数组,请对索引 1 处的 VARCHAR 列值使用 .getString(1)。

示例查询:SELECT id,title FROM news WHERE id = 1;

因此您可以使用 .getInt(1) 获取 ID,使用 .getString(2) 获取标题。

这就是我能说的全部))

关于java - getArray 上的 SQLFeatureNotSupportedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11735786/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com