04-20.eri-test Mybatis光标

만약Mybatis光标조회하면한글면100이면100“오라클”조회될이다。
대부분Mybatis에런로이많기光标。이스가있다는사람들다이다。

쓴다.
물론 어자피 공식 설명서 봐도 되긴 하는데... s光标용법의번역안되어안되어...
대단하다...

一种光标提供与相同的结果清单,除了它使用Iterator延迟获取数据。

해석하자면이굳...

光标清单迭代器,迭代器和迭代器。

La,La懒La이뜻개발자라면개발자라면우를한줄기빛이나다나다。
존처럼기존처럼结果处理程序인터페이스를우로우기를있는데있는데,光标清单거다된거이점이있다는는。

@Repository
public interface PersonMapper {

    // 그냥 리스트 불러올 때
    清单<Person> selectPerson清单(Map<String, Object> params);

    // Mybatis 3.2.4 이전까지 대용량 리스트 불러올 때
    void selectPersonListHuge(Map<String, Object> params, ResultHandler handler);

    // Mybatis 3.2.4 이후 대용량 리스트 불러올 때
    Cursor<Person> selectPersonListLazy(Map<String, Object> params);

}

그렇다면사용법은가?Cursor인터페이스는Iterable확장하기확장하,对于문에서前言。다。 또한,잊지말아야可关闭인터페이스도확장하기때문에,尝试선언하거나,선언하거나기싫으면关()。로닫아야다。 。사용법은다。

try (Cursor<Person> lazyList = mapper.selectPersonListLazy(params)) {
   对于 (Person person : lazyList) {
      // 여기에 Person 가지고 뭐 할겨?
   }
}

Javadoc 을 참조하면 사실 별 거 없다.
그나마 유용한 메소드가 getCurrentIndex() 메소드인데, 현재 가져온 행 번호를 가져온다. 자바답게0부터시작한다.

자,소개는기까지。

아, 이건 내 경험인데, 내잘못인지 버그인지 모르겠지만, jdbc 로깅한답시고 추가한 log4jdbc 하고 연계했더니 Cursor 리턴은 되는데 항상 데이터 반환이 없다. 리스트가없다고.
어디쪽 문제인지 모르겠지만, log4jdbc 는 더 이상 개발이 없고, mybatis 로깅도 나쁘진 않기 때문에, 신규 프로젝트에 Mybatis 추가할 경우 log4jdbc 연계는 지양하는 게 좋을 것 같다.
거거거해제해주시면.

2020-03-23 업데이트

Cursor 의 올바른 사용법

위에log4jdbc고고고고고고고고고고고고고있도도있해맸는데는는는는는。
즉,Cursor사시,시다한는이다。 春天을

@Transactional // <- 이거 이거 이거 이거 이거 이거 이거 이거 이거 이거
public List<Person> getList() {
    try (Cursor<Person> cursor = mapper.getPersonListByCursor()) {
        for (Person person : cursor) {
            // ...
        }
    }
    return ...
}

이렇게@交易어노테이션이라던가,交易模板클래스또는PlatformTransactionManager.getTransaction(...)...스레드작동한다는것이었다...
Spring Webflux的最新发布.........

게다가,상가상상상있거나있거나가가가for。로등으것이다。 들어...로변환해서다던지...이안된내에서만다는이다。
밖으로빼내려면List로돌리거나,아예List로반환해야이다。
그래서反应堆같이이용할이때는阻塞。로대응해야다한이아쉬움다。

Mybatis在R2DBC上进行了下载,在R2DBC上进行了下载。
flu Webflux쓴다면DB연동의는다점이되겠다。 R2DBC단계고...

from: https://dev.to//composite/mybatis-cursor-t-bim

你可能感兴趣的:(04-20.eri-test Mybatis光标)