- 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.htmlhttps://github.com/lidatui/mybatis-crud/blob/master/src/main/java/com/github/miemiedev/mybatis/crud/UpdateInterceptor.java
- Batch 실행시 interceptor
https://fvor001.tistory.com/112
Mybatis Plugin - Interceptor
Mybatis Plugin Mybatis 플러그인 기능은 AOP와 비슷하게 동작한다. 특정 인터페이스의 메소드를 지정하면 그 인터페이스의 메소드가 실행되지 직전에 플러그인으로 등록한 클래스가 호출된다. AOP처럼
fvor001.tistory.com
https://aridom.tistory.com/m/71
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 |