gpt4 book ai didi

java - 如何在java中从oracle获取Clob数据类型到ResultSet

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:21 27 4
gpt4 key购买 nike

我连接了oracle数据库。我需要从表中获取信息到我的服务类,然后将其发送到 Controller 。变量之一是 CLOB 数据类型。如何获取它并解析为字符串列表?这是我的伪代码:

public class ModelClass {
private List<String> comments;

public ModelClass(List<String> comments) {
this.comments = comments;
}

public List<String> getComments() {
return comments;
}
}

然后我尝试对 ResultSet 执行查询并将其放入 ModelClass ResultSet rS = dataSource.getConnection().createStatement().executeQuery(query.toString());
while (rS.next()) {
result.add(new ModelClass((List<String>) rS.getObject(13)));
列表中

显然这是行不通的。我不知道如何获得那个 Clob。当我尝试获取结果时,出现以下错误:"oracle.sql.CLOB cannot be cast to java.util.List",当我将 rS.Object(13) 更改为 rS.getClob(13) 时,它不起作用。你能告诉我如何获取那个 Clob 对象吗?实际上是一个有 4 个字段的 JSON。

最佳答案

通过 rS.getObject(13) 得到的 CLOB 对象是一个类似字符串的对象。如果您想将其视为 4 个字段的列表,您应该使用任何库(如 GSON)将其转换为 JSON 对象,然后向 JSON 对象询问其字段。

while (rS.next()) {

CLOB clobOjb = (CLOB) rS.getObject(13);
// convert clobObj (or it's string conversion) to JSON
// extract the fields from JSON object and store them in a list
result.add(new ModelClass( /* the list */ ));

关于java - 如何在java中从oracle获取Clob数据类型到ResultSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50075592/

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