gpt4 book ai didi

java - 如何基于StoredProcedureQuery结果列表构造JSON对象-SpringBoot Rest API?

转载 作者:行者123 更新时间:2023-12-02 08:53:26 25 4
gpt4 key购买 nike

我需要显示存储过程响应(多个 OUT 参数),而不为该响应创建任何 java 类。

ResultList可以包含多个游标或单个游标或单个字符串或多个字符串,甚至可以是游标和字符串的组合。我需要解析所有内容并将其显示为 JSON 对象。 我们是否有自动执行这些功能的映射器?

现在我可以使用 List<Object[]> 获取以下格式的数据作为返回对象,

FirstCursor(返回对象列表 - 无列名称):

[  
[
"XYZ",
18653
]
]

但是我也想要列名和值。

[
{
"uname": "XYZ",
"phone": 18653
}
]

服务代码供您引用,

public List<Object[]> getOrder(String orderNo) 
{
StoredProcedureQuery query = entityManager.createStoredProcedureQuery("xx.xxx.get_order_details");
query.registerStoredProcedureParameter(1, String.class, ParameterMode.IN); query.registerStoredProcedureParameter(2, void.class, ParameterMode.REF_CURSOR); query.setParameter(1, "OR-1001");
List<Object[]> results = query.getResultList();
returns results;
}

以上代码仅返回值,而不返回其各自的列名称。

最佳答案

您可以直接从存储过程返回 JSON:

SELECT JSON_ARRAYAGG(
JSON_OBJECT('uname' VALUE uname,
'phone' VALUE phone)
)
FROM items

了解有关创建 JSON 的更多信息:

关于java - 如何基于StoredProcedureQuery结果列表构造JSON对象-SpringBoot Rest API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60631627/

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