326.10. 샘플


아래 샘플에서는 쿼리를 실행하고 각 행이 Map<String, Object>이고 키인 행 목록으로 결과를 검색합니다.In the sample below we execute a query and retrieve the result as a List of rows , where each row is a Map<String, Object > and the key is the column name.

먼저 샘플에 사용할 테이블을 설정합니다. 단위 테스트를 기반으로 하므로 Java에서 수행합니다.

실행하는 SQL 스크립트 createAndPopulateDatabase.sql 은 다음과 같습니다.

그런 다음 경로 및 sql 구성 요소를 구성합니다. sql 끝점 앞에 직접 끝점을 사용합니다.Notice that we use a direct endpoint in front of the sql endpoint. 이를 통해 클라이언트가 긴 sql : URI보다 훨씬 쉽게 사용할 수 있는 URI를 사용하여 직접 엔드포인트에 교환을 보낼 수 있습니다. DataSource 는 레지스트리에서 조회되므로 표준 Spring XML을 사용하여 DataSource 를 구성할 수 있습니다.

그런 다음 메시지를 데이터베이스에 쿼리하는 sql 구성 요소로 라우팅하는 직접 엔드포인트로 실행됩니다.

다음과 같이 Spring XML에서 DataSource 를 구성할 수 있습니다.

 <jee:jndi-lookup id="myDS" jndi-name="jdbc/myDataSource"/>
Copy to Clipboard Toggle word wrap

326.10.1. 이름이 지정된 매개변수 사용

Camel 2.11로 사용 가능

아래 지정된 경로에서 projects 테이블의 모든 프로젝트를 가져오고 싶습니다. SQL 쿼리에는 2개의 명명된 매개 변수인 :#lic 및 :#min이 있습니다.
그러면 Camel이 메시지 본문 또는 메시지 헤더에서 이러한 매개변수를 조회합니다. 위 예제에서는 이름이 지정된 매개변수에 대해 상수 값
으로 두 개의 헤더를 설정합니다.

   from("direct:projects")
     .setHeader("lic", constant("ASF"))
     .setHeader("min", constant(123))
     .to("sql:select * from projects where license = :#lic and id > :#min order by id")
Copy to Clipboard Toggle word wrap

메시지 본문이 java.util.Map 인 경우 이름이 지정된 매개변수는 본문에서 가져옵니다.

   from("direct:projects")
     .to("sql:select * from projects where license = :#lic and id > :#min order by id")
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat