집 >데이터 베이스 >MySQL 튜토리얼 >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 중국어 웹사이트의 기타 관련 기사를 참조하세요!