【发布时间】:2020-03-11 08:09:23
【问题描述】:
我需要显示存储过程响应(多个 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
-
已添加。 @Ros5292
-
Oracle 数据库。在不创建 DTO 或实体的情况下,我必须将结果列表返回为 JSON ("Key" : "Value") 。我们有什么方法可以实现它。 @SimonMartinelli
标签: java spring spring-boot