- parameter 정보 가져오기
Object[] args = invocation.getArgs();

MappedStatement mappedStatement = (MappedStatement)args[0];

Object param = args[1];

BoundSql boundSql = mappedStatement.getBoundSql(param);

Object parameterObject = boundSql.getParameterObject();

List<ParameterMapping> mappingList = boundSql.getParameterMappings();

- @Param("param") annotation 이 붙으면 parameter type은 ParamMap 임,ParamMap에 param으로 들어가 있음


- parameter가 Map Type 일 경유 key로 arg0 존재하면 arg0만 처리하면 됨
parameter가 List인 경우 Map에 arg0, collection, list의 key로 각각 같은 값이 존재하므로 셋 중에 하나만 처리 해야 함

Object[] args = invocation.getArgs();
Object param = args[1];

if(param instanceof Map && ((Map)param).containsKey("arg0")) {
    Object param2 = ((Map)param).get("arg0"))
    // parma2로 parameter 처리
} else {
    // parma으로 parameter 처리
}



https://kim-jong-hyun.tistory.com/m/23

11. Spring - Mybatis Interceptor

이번장에서는 Mybatis Interceptor에 대해 알아보자. 말그대로 개발자가 XML 파일에 쿼리를 작성하고 서비스에서 DAO (SQL Mapper)를 호출할때 개발자가 작성한 쿼리를 가로챈다. Mybatis Interceptor에서는 개

kim-jong-hyun.tistory.com


https://programmer.help/blogs/implementation-of-mybatis-interceptor-custom-paging-plug-in.html


https://github.com/lidatui/mybatis-crud/blob/master/src/main/java/com/github/miemiedev/mybatis/crud/UpdateInterceptor.java


- Batch 실행시 interceptor

https://fvor001.tistory.com/11
2

Mybatis Plugin - Interceptor

Mybatis Plugin Mybatis 플러그인 기능은 AOP와 비슷하게 동작한다. 특정 인터페이스의 메소드를 지정하면 그 인터페이스의 메소드가 실행되지 직전에 플러그인으로 등록한 클래스가 호출된다. AOP처럼

fvor001.tistory.com


https://aridom.tistory.com/m/7
1

Mybatis StatementHandler와 Batch타입 처리 관련 이슈

이전장(aridom.tistory.com/72)에서 Mybatis Plugins라는것을 알아봤다. 이번에는 Mybatis Plugins 중 하나인 StatementHandler를 이용하면서 발생된 이슈와 이놈이 무슨역할을 하는지 알아보도록 하자. StatementHandler

aridom.tistory.com


- MybatisCursorItemReader는 MyBatis를 사용하여 데이터를 읽어오는 Spring Batch 컴포넌트 중 하나입니다.
기본적으로 MybatisCursorItemReader는 MyBatis의 SQL 세션을 직접 사용하므로, MyBatis 인터셉터를 거치지 않을 수 있습니다.
이는 MyBatis 인터셉터가 MyBatis 세션을 통과하지 않기 때문입니다
.


'mybatis' 카테고리의 다른 글

mybatis 예제  (0) 2021.08.11
mybatis @Param annotation  (0) 2021.08.09
mybatis mapUnderScoreToCamelCase Map에 적용  (0) 2020.07.16
spring boot mybatis 적용 (java configuration)  (0) 2020.04.20
mybatis logging 추가  (0) 2020.04.13
Posted by 張's blog
,