326장. SQL 구성 요소


Camel 버전 1.4에서 사용 가능

sql: 구성 요소를 사용하면 JDBC 쿼리를 사용하여 데이터베이스 작업을 수행할 수 있습니다. 이 구성 요소와 JDBC 구성 요소의 차이점은 SQL의 경우 쿼리는 끝점의 속성이며 쿼리에 전달된 매개 변수로 메시지 페이로드를 사용한다는 것입니다.

이 구성 요소는 실제 SQL 처리를 위해 백그라운드에서 Spring -jdbc 를 사용합니다.

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

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-sql</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
Copy to Clipboard Toggle word wrap

SQL 구성 요소도 다음을 지원합니다.

326.1. URI 형식

WARNING: Camel 2.11부터 이 구성 요소는 소비자(예: from()) 및 생산자 끝점(예: to())을 둘 다 생성할 수 있습니다. 이전 버전에서는 생산자 역할을만 수행할 수 있었습니다.

INFO: 이 구성 요소는 트랜잭션 클라이언트로 사용할 수 있습니다.

SQL 구성 요소는 다음 끝점 URI 표기법을 사용합니다.

sql:select * from table where id=# order by name[?options]
Copy to Clipboard Toggle word wrap

Camel 2.11 이후의 경우 다음과 같이 :'#name_of_the_parameter' 스타일을 사용하여 이름이 지정된 매개변수를 사용할 수 있습니다.

sql:select * from table where id=:#myId order by name[?options]
Copy to Clipboard Toggle word wrap

이름이 지정된 매개변수를 사용하는 경우 Camel은 지정된 우선 순위에서 이름을 조회합니다.
1. java.util.Map
2인 경우 메시지 본문에서 다음을 수행합니다. 메시지 헤더에서

명명된 매개 변수를 확인할 수 없는 경우 예외가 발생합니다.

Camel 2.14 부터 다음과 같이 Simple 표현식을 매개변수로 사용할 수 있습니다.

sql:select * from table where id=:#${property.myId} order by name[?options]
Copy to Clipboard Toggle word wrap

엔드포인트에 대한 옵션을 지정하는 데 기호가 사용되므로 SQL 쿼리에 대한 매개 변수를 나타내는 표준 ? 기호가 # 기호로 대체됩니다.Notice that the standard ? symbol that denotes the parameters to an SQL query is substituted with the # symbol, because the ? symbol is used to specify options for the endpoint. 기호 교체는 엔드포인트에 따라 구성할 수 있습니다.

Camel 2.17 이상에서 다음과 같이 클래스 경로 또는 파일 시스템의 파일에 SQL 쿼리를 외부화할 수 있습니다.

sql:classpath:sql/myquery.sql[?options]
Copy to Clipboard Toggle word wrap

그리고 myquery.sql 파일은 classpath에 있으며 일반 텍스트입니다.

-- this is a comment
select *
from table
where
  id = :#${property.myId}
order by
  name
Copy to Clipboard Toggle word wrap

파일에서 여러 줄을 사용하고 원하는 대로 SQL을 포맷할 수 있습니다. 또한 - 대시 행과 같은 주석을 사용합니다.

URI에 쿼리 옵션을 추가할 수 있습니다. ?option=value&option=value&…​

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat