>데이터 베이스 >MySQL 튜토리얼 >JasperReports의 쿼리에 매개변수를 전달하는 방법은 무엇입니까?

JasperReports의 쿼리에 매개변수를 전달하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-18 06:27:08832검색

How to Pass Parameters to Queries in JasperReports?

JasperReports에서 쿼리 매개변수 전달

JasperReports를 사용하면 WHERE 및 ORDER BY 절과 같은 매개변수를 사용하여 쿼리의 다양한 측면을 동적으로 제어할 수 있습니다. 이는 사용자가 데이터 검색 방법을 유연하게 지정할 수 있도록 하려는 경우에 유용합니다.

매개변수 참조 구문

매개변수 참조에는 $P{}$P!{}의 두 가지 구문 표현식이 있습니다.

  • $P{paramName}은 WHERE 절의 매개변수를 바꾸는 데 사용됩니다. 예를 들어 "eventName"이라는 java.lang.String 유형의 매개변수가 있는 경우 다음과 같이 WHERE 절에서 사용할 수 있습니다.
<code class="language-sql">WHERE name=$P{eventName}</code>
  • $P!{paramName}은 WHERE 및 ORDER BY 절을 포함하여 쿼리의 모든 위치에서 매개변수를 바꾸는 데 사용됩니다. 예를 들어 "order"라는 java.lang.String 유형의 매개변수가 있는 경우 다음과 같이 ORDER BY 절에서 사용할 수 있습니다.
<code class="language-sql">ORDER BY $P!{order}</code>

매개변수 유형 처리

$P{} 구문은 "지능적"이며 다양한 매개변수 유형을 올바르게 처리합니다. 예를 들어, java.lang.String 유형의 매개변수가 있는 경우 엔진은 $P{paramName}을 따옴표로 묶은 값으로 바꿉니다. java.lang.Integer 유형의 매개변수가 있는 경우 엔진은 $P{paramName}을 숫자 값으로 대체합니다.

사용예

데이터베이스의 필드를 매개변수로 전달하려면 $P!{} 구문을 사용할 수 있습니다. 예를 들어, 다음 쿼리는 $P!{clause} 매개변수를 사용하여 WHERE 절을 지정하고 $P!{order} 매개변수를 사용하여 ORDER BY 절을 지정합니다.

<code class="language-sql">SELECT name, phone, email
FROM company
WHERE $P!{clause} = $P{key}
ORDER BY $P!{order}</code>

이 예에서 $P!{clause} 매개변수는 java.lang.String 유형이고 $P!{order} 매개변수는 java.lang.String 유형입니다.

위 내용은 JasperReports의 쿼리에 매개변수를 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.