236장. MyBatis Bean 구성 요소

Camel 버전 2.22에서 사용 가능

mybatis-bean: 구성 요소를 사용하면 MyBatis bean 주석을 사용하여 관계형 데이터베이스에서 데이터를 쿼리, 삽입, 업데이트 및 삭제할 수 있습니다.

이 구성 요소는 생산자로 사용할 수 있습니다. MyBatis에서 사용하고 싶은 경우 일반 mybatis 구성 요소를 사용하십시오.

Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-mybatis</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

이 구성 요소는 기본적으로 예상 이름이 SqlMapConfig.xml 인 classpath의 루트에서 MyBatis SqlMapConfig 파일을 로드합니다.
파일이 다른 위치에 있는 경우 MyBatisComponent 구성 요소에서 configurationUri 옵션을 구성해야 합니다.If the file is located in another location, you will need to configure the configurationUri option on the MyBatisComponent component.

236.1. 옵션

MyBatis Bean 구성 요소는 아래 나열된 세 가지 옵션을 지원합니다.

이름설명기본값유형

sqlSessionFactory (advanced)

SqlSessionFactory를 사용하려면 다음을 수행합니다.

 

SqlSessionFactory

configurationUri (producer)

MyBatis xml 구성 파일의 위치입니다. 기본값은 다음과 같습니다. classpath에서 로드된 SqlMapConfig.xml

SqlMapConfig.xml

문자열

resolveProperty Placeholders (advanced)

구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders.

true

boolean

MyBatis Bean 엔드포인트는 URI 구문을 사용하여 구성됩니다.

mybatis-bean:beanName:methodName

다음 경로 및 쿼리 매개변수를 사용합니다.

236.1.1. 경로 매개 변수(2 매개변수):

이름설명기본값유형

beanName

MyBatis 주석이 있는 빈의 필수 이름입니다. 형식 별칭 또는 FQN 클래스 이름으로 사용할 수 있습니다.

 

문자열

methodName

필요한 경우 빈에서 SQL 쿼리가 실행되는 메서드의 이름입니다.

 

문자열

236.1.2. 쿼리 매개변수 (4 매개변수):

이름설명기본값유형

executorType (producer)

statement를 실행하는 동안 executor 유형을 사용합니다. simple - executor는 특별한 작업을 수행합니다. reuse - executor는 준비된 문을 재사용합니다. batch - batch - statements 및 batches 업데이트를 재사용합니다.

SIMPLE

ExecutorType

inputHeader (producer)

메시지 본문 대신 입력 매개 변수의 헤더 값을 가져옵니다. 기본적으로 inputHeader == null 및 입력 매개 변수는 메시지 본문에서 가져옵니다. outputHeader가 설정되면 값이 사용되고 쿼리 매개변수는 본문 대신 헤더에서 가져옵니다.

 

문자열

outputHeader (producer)

메시지 본문 대신 헤더에 쿼리 결과를 저장합니다. 기본적으로 outputHeader == null 및 쿼리 결과는 메시지 본문에 저장되며 메시지 본문의 기존 콘텐츠는 삭제됩니다. outputHeader가 설정된 경우 값은 쿼리 결과를 저장하기 위해 헤더의 이름으로 사용되고 원래 메시지 본문이 유지됩니다. outputHeader를 설정하면 기본 CamelMyBatisResult 헤더가 항상 outputHeader와 동일하기 때문에 기본 CamelMyBatisResult 헤더를 채우지 않습니다.

 

문자열

synchronous (advanced)

동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우).

false

boolean