JasperReports に SQL "IN" パラメータ リストを渡す
"IN" 述語を使用して SQL クエリを含む JasperReports を生成する場合、動的パラメータ割り当てにより、 Java プログラミングを通じて実現されます。 「roles」パラメータの値を動的に設定する方法を見てみましょう。
問題のクエリ:
SELECT customer_name AS NAME, id_customer AS ID FROM customer WHERE customer_role IN ($P{roles})
Java でのパラメータの割り当て
JasperReports は、パラメータを動的に設定するための特別な変数 $X を提供します。 「roles」パラメータに値のリストを割り当てるには、次の構文を使用します:
select * from customer where $X{IN,customer_role,roles}
Java でプログラムによってパラメータ値を設定する方法の例を次に示します:
// Get a JasperReports instance JasperPrint jasperPrint = jasperReport.fill(parametersMap, dataSource); // Create a new parameter list java.util.List<JRParameter> updatedParameters = new ArrayList<>(); // Add the "roles" parameter with the updated value updatedParameters.add(new JRParameter("roles", ArrayList.class, roles)); // Set the parameter list jasperPrint.setParameters(updatedParameters);
追加メモ
以上がJasperReports で動的 SQL「IN」パラメータ リストを渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。