Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Oracle存储过程-Java检索数组列表_Java_Oracle_Stored Procedures_Arraylist - Fatal编程技术网

从Oracle存储过程-Java检索数组列表

从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

我正在尝试从Oracle SQL中的存储过程中检索对象列表。您可以知道如何从下面的代码中获取Arraylist吗

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());
}