Question :
Comment puis-je définir la valeur d'un SQL Paramètre de prédicat « IN » dynamiquement en Java lors de la génération d'un JasperReport ? Le paramètre peut avoir plusieurs valeurs entières déterminées au moment de l'exécution.
Réponse :
JasperReports fournit une variable spéciale, $X, pour gérer ce scénario. En utilisant $X{IN,customer_role,roles}, votre requête se traduira par :
select * from customer where $X{IN,customer_role,roles}
où customer_role est le nom de la colonne et rôles est le nom du paramètre.
Exemple :
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);
En définissant le paramètre rôles comme un tableau d'entiers, la requête générera uniquement des résultats pour les clients avec des ID de rôle dans cette liste.
Références :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!