我在数据库中有一个 sql 函数
FUNCTION RATELIMIT_OWN.Get_Logs ( p_yyyymm VARCHAR2, p_numec NUMBER )
函数返回
TYPE RATELIMIT_OWN.LOG_RECORD AS OBJECT
(EVENTID VARCHAR2(15),
MSG VARCHAR2(2000),
CREATE_DATE DATE);
我是存储过程和 sql 函数的新手。在函数中查看查询后,它可能会返回多个结果。
我正在使用 Spring JDBC 来执行和获取结果。
SimpleJdbcCall caller = new SimpleJdbcCall(this.jdbcTemplate).withFunctionName("RATELIMIT_OWN.Get_Logs");
MyBean resultBean = null;
MapSqlParameterSource paramMap = new MapSqlParameterSource();
paramMap.addValue("p_yyyymm", inputBean.getMonth(), Types.VARCHAR);
paramMap.addValue("p_numec", inputBean.getNumec(), Types.INTEGER);
resultBean = caller.executeFunction(MyBean.class, paramMap);
但这行得通吗?如果我得到多个结果,这是如何工作的。它应该正确返回列表。我找不到任何 SimpleJdbcCall 方法来返回对象列表,甚至找不到可以通过 RowMapper 将返回的列映射到 Bean 的方法。