Ребята, привет, подскажите пожалуйста, каким образом можно вернуть необработанный resultSet из оракловой функции через MyBatis.
Заданно:
обращение к бд в xml через MyBatis:
<mapper namespace="ru.pac.DataMapper">
<select id="getData" parameterType="ru.data.Dto" statementType="CALLABLE">
{#{data,jdbcType=CURSOR, typeHandler=ru.data.typeHandlers.RegisterTypeHandler, mode=OUT} = call USER.PAC.GET_DATA
(#{id,jdbcType=BIGINT,mode=IN},
#{firstType, jdbcType=VARCHAR, mode=IN},
#{dataType, jdbcType=VARCHAR, mode=IN},
#{fields, jdbcType=VARCHAR, mode=IN},
#{filter, jdbcType=VARCHAR, mode=IN})}
</select>
</mapper>
мой хэндлер который должен обрабатывать весь возвращенный resultSet, просто возвращать мне его без маппинга:
public class RegisterTypeHandler implements TypeHandler {
@Override
public void setParameter(PreparedStatement statement, int index, Object payments, JdbcType jdbcType) throws SQLException {
}
@Override
public Object getResult(ResultSet rs, String columnName) throws SQLException {
throw new UnsupportedOperationException();
}
@Override
public Object getResult(ResultSet rs, int columnIndex) throws SQLException {
throw new UnsupportedOperationException();
}
@Override
public Object getResult(CallableStatement cs, int columnIndex) throws SQLException {
return cs.getObject(columnIndex);
}
}
Вызываю стандартным способом через интерфейсный метод одноименного мэппера, но MyBatis требует resultMap для resultSet, каким образом можно вернуть чистый resultSet без обработки, для того чтобы в дальнейшем спокойно работать с ним.