![](/img/trans.png)
[英]ArrayIndexOutOfBoundsException when executing StoredProcedure in java
[英]Java StoredProcedure with SqlReturnResultSet not working
我的班上有这个SP:
private class ScoreStoredProcedure extends StoredProcedure {
private static final String SPROC_NAME = "loadUserScore";
public ScoreStoredProcedure(DataSource datasource) {
super(datasource, SPROC_NAME);
declareParameter(new SqlReturnResultSet("score", mScoreMapper));
declareParameter(new SqlParameter("vusername", Types.VARCHAR));
declareParameter(new SqlParameter("vuuid", Types.VARCHAR));
declareParameter(new SqlParameter("vlimit", Types.INTEGER));
compile();
}
@SuppressWarnings("unchecked")
public List<Score> execute(String pUsername, String pUUID, int pLimit){
Map<String,Object> lAllScore = super.execute(pUsername, pUUID, pLimit);
return ((List<Score>) lAllScore.get("score"));
}
}
一切运行正常,但结果列表的映射存在问题。 我在日志中有这一行:
INFO: Added default SqlReturnResultSet parameter named #result-set-2
但是为什么将ResultSet映射到键#result-set-2
? 在这里,我将其声明为declareParameter(new SqlReturnResultSet("score", mScoreMapper));
有什么问题? RowMapper已正确创建...
您的存储过程正在生成多个结果集。 Spring会为您分配尚未声明自动名称的结果集,就像您看到的那样。 在此处查看此行为的描述: https : //jira.springsource.org/browse/SPR-593?actionOrder=desc以及有关如何处理多个结果集的讨论,请参见http://forum.spring.io/forum/spring。 -projects / data / 27532-jdbctemplate-缺少某些功能
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.