Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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
Java 如何在SimpleJDBCall中从#result-set-1获取值_Java_Spring - Fatal编程技术网

Java 如何在SimpleJDBCall中从#result-set-1获取值

Java 如何在SimpleJDBCall中从#result-set-1获取值,java,spring,Java,Spring,执行SimpleJDBCall时,我得到两个参数#result-set-1,#update-count-1 MapSqlParameterSource parameterSource = new MapSqlParameterSource(); parameterSource.addValue("name", "something"); Map<String, Object> resultFromProcedure = cstmt.execute(parameterSource);

执行SimpleJDBCall时,我得到两个参数#result-set-1,#update-count-1

MapSqlParameterSource parameterSource = new MapSqlParameterSource();
parameterSource.addValue("name", "something");
Map<String, Object> resultFromProcedure = cstmt.execute(parameterSource);
在我尝试访问之前,一切都很好

resultFromProcedure.get("accountnumber")

它正在变为空。问题是如果我理解正确,如何访问#result-set-1

中的值<代码>映射过程中的结果由两个条目组成,其中包含键
#result-set-1
#update-count-1

#result-set-1
的对象是一个具有4个成员变量的对象。(如果是字符串,则需要将Json转换为Java对象())

因此,对
resultfromtprocedure.get(“accountnumber”)
的调用试图使用键
accountnumber
获取对象,但映射不包含该键。您需要首先获取
#result-set-1
的对象,例如

SomeDTO someDTO = resultFromProcedure.get("#result-set-1");
然后你可以打电话

someDTO.getAccountNumber();

如果我理解正确的话<代码>映射过程中的结果由两个条目组成,其中包含键
#result-set-1
#update-count-1

#result-set-1
的对象是一个具有4个成员变量的对象。(如果是字符串,则需要将Json转换为Java对象())

因此,对
resultfromtprocedure.get(“accountnumber”)
的调用试图使用键
accountnumber
获取对象,但映射不包含该键。您需要首先获取
#result-set-1
的对象,例如

SomeDTO someDTO = resultFromProcedure.get("#result-set-1");
然后你可以打电话

someDTO.getAccountNumber();

由于可能有多个结果集,SimpleJDBCall在另一个标记为“#result-set-1”的映射中返回arraylist中的对象。要访问其中的值,请尝试以下操作:

ArrayList arrayList = new ArrayList();
arrayList = (ArrayList) resultFromProcedure.get("#result-set-1");
Map resultMap = (Map) arrayList.get(0);

System.out.println("Account Number: " + resultMap.get("accountnumber"));

由于可能有多个结果集,SimpleJDBCall在另一个标记为“#result-set-1”的映射中返回arraylist中的对象。要访问其中的值,请尝试以下操作:

ArrayList arrayList = new ArrayList();
arrayList = (ArrayList) resultFromProcedure.get("#result-set-1");
Map resultMap = (Map) arrayList.get(0);

System.out.println("Account Number: " + resultMap.get("accountnumber"));