Java 如何在SimpleJDBCall中从#result-set-1获取值
执行SimpleJDBCall时,我得到两个参数#result-set-1,#update-count-1Java 如何在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);
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"));