ホームページ > データベース > mysql チュートリアル > JasperReports の SQL 'IN' 句に複数の整数値を動的に渡す方法

JasperReports の SQL 'IN' 句に複数の整数値を動的に渡す方法

Linda Hamilton
リリース: 2024-12-22 02:55:10
オリジナル
925 人が閲覧しました

How to Dynamically Pass Multiple Integer Values to a SQL

JasperReports で SQL "IN" パラメータ リストを渡す

質問:

SQL の値を設定するにはどうすればよいですかJasperReport の生成中に Java で動的に「IN」述語パラメータを使用しますか?パラメーターには、実行時に決定される複数の整数値を指定できます。

回答:

JasperReports は、このシナリオを処理するために特別な変数 $X を提供します。 $X{IN,customer_role,roles} を使用すると、クエリは次のように変換されます。

select * 
from customer 
where $X{IN,customer_role,roles}
ログイン後にコピー

ここで、customer_role は列名、roles はパラメータ名です。

例:

Map<String, Object> parameters = new HashMap<>();
parameters.put("roles", Arrays.asList(1, 2, 3));
JasperReport jasperReport = JasperCompileManager.compileReportToFile(templatePath);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource);
ログイン後にコピー

roles パラメータを整数の配列として設定すると、クエリはそのリストにロール ID を持つ顧客のみの結果が表示されます。

参考資料:

  • [JasperReports ドキュメント - IN オペレーター](https://community.jaspersoft. com/wiki/IN-operator)
  • [JasperReports オペレーター: $Xと $P](https://wiki.pentaho.com/display/BAD/JasperReports 演算子: $X と $P)

以上がJasperReports の SQL 'IN' 句に複数の整数値を動的に渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート