【发布时间】:2020-08-23 16:50:13
【问题描述】:
我正在使用resultset 从数据库中读取一个table。后来我用这个数据来生成json文件。
我想在数据库中生成json 文件并将该文件返回给java,因为我的java 代码将使用POST API.
代码是这样的
String query="select * from dynamicentitygtt";
PreparedStatement prepstatement=connection.prepareStatement(query);
ResultSet rs=prepstatement.executeQuery()
while rs.next()
{
//Load data to POJO
}
//call method to generate json file.
//Inject file data to API
我想要什么。
String query="select * from dynamicentitygtt";
PreparedStatement prepstatement=connection.prepareStatement(query);
ResultSet rs=prepstatement.executeQuery()
//here I want file from database.
我的数据库应该返回 json 文件。我可以在数据库中创建程序。我也可以使用可调用的。我也可以从表中创建 json 文件。 但我不知道如何从数据库返回文件。
如果我的理解不正确,请见谅。
【问题讨论】:
-
您可以创建一个 pl/sql 过程来执行查询并返回包含所需 json 的 clob(并从 Java 调用该过程)。根据您的 Oracle 版本和您的偏好,至少有两种选择。我个人使用github.com/pljson/pljson,但如果您有 Oracle 18 或更高版本,您可能可以使用本机 JSON 方法。
-
“我不知道如何从数据库中返回文件” 完美 - 确定了您需要帮助的真正问题。阅读有关
UTL_FILE包的信息,或者 - 更一般地 - 使用您熟悉的任何方法从 Oracle 数据库中阅读有关文件操作的信息。这与文件的内容(JSON 或其他)无关。 -
@mathguy 非常感谢 mathguy。我正在经历同样的事情。
-
您应该在此类问题中包含 Oracle 的版本。更高版本的数据库具有增强的功能。
-
我正在使用 oracle 18c。
标签: java spring oracle spring-boot plsql