- 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
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
https://aridom.tistory.com/m/71
- 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 |