我正在尝试编写一种利用我公司某人制作的界面的方法。接口(interface)方法设置返回类型:
<T> List<T>
并采用以下类型的参数:
RowMapper<T> rowMapper
我想使用带有一些参数的存储过程,到目前为止我有以下内容:
SimpleJdbcCall getYearWeekOptions = new SimpleJdbcCall(getDataSource()) .withoutProcedureColumnMetaDataAccess().withProcedureName(procedureName)
.declareParameters(new SqlOutParameter(PARAMETER_COMPANY_ID, Types.VARCHAR))
.declareParameters(new SqlOutParameter(PARAMETER_MIN_YEAR, Types.NUMERIC))
.declareParameters(new SqlOutParameter(PARAMETER_MIN_WEEK, Types.NUMERIC));
getYearWeekOptions.returningResultSet("yearWeekOptions", rowMapper);
Map<String, Object> result = getYearWeekOptions.execute(companyId, yearStart, weekStart);
所以我的问题是,如何以正确的格式返回这个“结果”?
最佳答案
如果您想返回结果映射中存在的值,您可以执行以下操作:
List<Value> list = new ArrayList<Value>(map.values());
如果您想归还 key :
List<String> list = new ArrayList<String>(m.keySet());
关于Java JDBC 存储过程放入 List<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39589850/