효과
공식 설명 :
MyBatis를 사용하면 매핑 된 문을 실행하는 동안 특정 지점에서 통화를 가로 채 릴 수 있습니다.
무슨 뜻입니까? 즉, 방법을 실행하기 전에 일부 방법을 가로 채고 다음과 같은 자신의 작업을 수행 할 수 있습니다.
1. 실행 된 모든 SQL을 기록하십시오 (mybatis org.apache.ibatis.executor.statement.statementhandler에서 준비 방법을 가로 채어)
2. SQL (org.apache.ibatis.executor.executor) 등을 수정하십시오.
그러나 메소드 호출을 가로 채는 데 제한이 있습니다. myBatis는 플러그인이 메소드 호출을 가로 채도록 허용합니다.
성취하다
플러그인을 사용하는 것은 매우 간단합니다. 인터셉터 인터페이스를 구현하고 인터셉트하려는 메소드 서명을 지정하십시오.
// examplugin.java@intercepts ({@signature (type = executor.class, method = "update", args = {mappedStatement.class, object.class}, @signature (type = executor.class, // 위의 지원 메소드는 클래스에서 보는 메소드에서 볼 수있는 메소드에서 볼 수 있습니다. {mappedStatement.class, object.class, rowbounds.class, resulthandler.class})}) // 해당 매개 변수 클래스는 소스 코드에서 볼 수 있습니다. public class examplugin interceptor {invocation (invocation invoce) {queryargs = invorgs (MAPPEDSTATEM) [0]; PARAMERT CONTER SYSTEM.err.println (인터셉트의 메소드 이름은 : return recone.proceation (객체 대상) {return plugin.wrap (target, this);구성 파일에서 플러그인을 등록하십시오
<!-mybatis-config.xml-> <plugins> <플러그인 인터셉터 = "org.mybatis.example.exampleplugin"> <property name = "someproperty"value = "100"/> </plugin> </plugins>
쿼리 메소드를 호출하면 인터셉트 메소드와 일치하므로 인터셉트에서 인터셉트 메소드를 실행하고 자체 처리를 수행합니다.
참조, 공식 웹 사이트
http://www.mybatis.org/mybatis-3/zh/configuration.html#plugins
요약
위는 편집자가 소개 한 MyBatis 사용자 정의 플러그인입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!