powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Обработка resultSet в MyBatis
1 сообщений из 1, страница 1 из 1
Обработка resultSet в MyBatis
    #39153776
mirqwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, привет, подскажите пожалуйста, каким образом можно вернуть необработанный resultSet из оракловой функции через MyBatis.

Заданно:
обращение к бд в xml через MyBatis:



Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<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, просто возвращать мне его без маппинга:



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 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 без обработки, для того чтобы в дальнейшем спокойно работать с ним.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Обработка resultSet в MyBatis
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]