从Oracle存储过程-Java检索数组列表
我正在尝试从Oracle SQL中的存储过程中检索对象列表。您可以知道如何从下面的代码中获取Arraylist吗从Oracle存储过程-Java检索数组列表,java,oracle,stored-procedures,arraylist,Java,Oracle,Stored Procedures,Arraylist,我正在尝试从Oracle SQL中的存储过程中检索对象列表。您可以知道如何从下面的代码中获取Arraylist吗 ArrayList<String> strings = new ArrayList<>(); SimpleJdbcCall jdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("P_ROUTES"); SqlParameterSource in = new MapSqlParameterSou
ArrayList<String> strings = new ArrayList<>();
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("P_ROUTES");
SqlParameterSource in = new MapSqlParameterSource()
.addValue("V_FIXED_INT", period)
.addValue("V_CARRIER", carrier)
.addValue("V_DATE_RANGE_START", dateRangeStart)
.addValue("V_DATE_RANGE_END", dateRangeEnd);
Map<String, Object> out = jdbcCall.execute(in);
ArrayList obj = (ArrayList) out.get("RET_CURSOR");
Map<String, Object> map = (Map<String, Object>) obj.get(0);
ArrayList strings=new ArrayList();
SimpleJdbcCall=newSimpleJDBCCall(数据源).withProcedureName(“P_路由”);
SqlParameterSource in=新映射SqlParameterSource()
.addValue(“V_FIXED_INT”,句号)
.addValue(“V_承运人”,承运人)
.addValue(“V\u日期\u范围\u开始”,日期范围开始)
.addValue(“V_日期范围结束”,dateRangeEnd);
Map out=jdbcCall.execute(in);
arraylistobj=(ArrayList)out.get(“RET_游标”);
Map Map=(Map)obj.get(0);
在MapObject中,我有键值对的列表。
查看下图:
我不确定这是不是最好的解决方案,但它对我很有效。我会努力找到更好的。如果你有任何其他建议,请随意
Map<String, Object> out = jdbcCall.execute(in);
ArrayList obj = (ArrayList) out.get("RET_CURSOR");
logger.info("Length of retrieved routes from database = " + obj.size());
for (Object o : obj) {
Map<String, Object> map = (Map<String, Object>) o;
for (Map.Entry<String, Object> entry : map.entrySet())
routes.add(entry.getValue().toString());
}
Map out=jdbcCall.execute(in);
arraylistobj=(ArrayList)out.get(“RET_游标”);
logger.info(“从数据库检索到的路由长度=“+obj.size());
用于(对象o:obj){
Map=(Map)o;
对于(Map.Entry:Map.entrySet())
routes.add(entry.getValue().toString());
}
我不确定这是不是最好的解决方案,但它对我很有效。我会努力找到更好的。如果你有任何其他建议,请随意
Map<String, Object> out = jdbcCall.execute(in);
ArrayList obj = (ArrayList) out.get("RET_CURSOR");
logger.info("Length of retrieved routes from database = " + obj.size());
for (Object o : obj) {
Map<String, Object> map = (Map<String, Object>) o;
for (Map.Entry<String, Object> entry : map.entrySet())
routes.add(entry.getValue().toString());
}
Map out=jdbcCall.execute(in);
arraylistobj=(ArrayList)out.get(“RET_游标”);
logger.info(“从数据库检索到的路由长度=“+obj.size());
用于(对象o:obj){
Map=(Map)o;
对于(Map.Entry:Map.entrySet())
routes.add(entry.getValue().toString());
}