繁体   English   中英

Java StoredProcedure与SqlReturnResultSet不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM