powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / ibatis как использовать курсор
5 сообщений из 5, страница 1 из 1
ibatis как использовать курсор
    #39609469
Maxifly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень прошу, помогите тупому.

Задача такая - в БД есть таблица, в ней несколько записей. Их надо как-то обработать на стороне клиента.
То есть сами сущности не так уж и нужны их надо просто потрогать каждую и что-то там сделать.

Если записей немного, то можно их вытащить за один раз:
Код: java
1.
2.
3.
    public Collection<RoleHierarhy> getAllRoleHierarchy()  {
        return session.selectList("getAllRoleHierarchy");
    }


и так работает - сущности возвращаются.

А если много?
Наверняка же можно открыть курсор, пофетчить и закрыть?

Я пробовал вот так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    public Collection<RoleHierarhy> getByCursor() {
        try (
        Cursor<RoleHierarhy> c =  session.selectCursor("getAllRoleHierarchy")){
          System.out.println("isOpen " + c.isOpen());
            for(RoleHierarhy rh:c) {
                System.out.println(rh.toString());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }


(вы не смотрите, что там return null - это просто попытки попробовать)
А isOpen равен false.

Данные в БД есть.
Что я делаю не так?
...
Рейтинг: 0 / 0
ibatis как использовать курсор
    #39609482
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxiflyТо есть сами сущности не так уж и нужнызначит сабж и ОРМ не нужен
...
Рейтинг: 0 / 0
ibatis как использовать курсор
    #39609490
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxifly,

Так а точно isOpen нужен? Может курсор слишком ленивый и ещё не начинал загрузку до первого элемента итерации?
...
Рейтинг: 0 / 0
ibatis как использовать курсор
    #39609491
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходники же есть. Там всего-то сотни две строк: https://github.com/mybatis/mybatis-3/blob/master/src/main/java/org/apache/ibatis/cursor/defaults/DefaultCursor.java

Похоже, надо просто делать итерацию for-ом каким-нибудь и не оглядываться.
...
Рейтинг: 0 / 0
ibatis как использовать курсор
    #39609493
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak,

Вот и я о том же

Код: java
1.
2.
3.
protected T fetchNextObjectFromDatabase() {
...
     status = CursorStatus.OPEN;
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / ibatis как использовать курсор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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