Como passar a consulta dinamicamente para o JasperReports / iReport
Essa semana me deparei com um problema no trabalho que levei alguns minutos estudando a melhor solução. Eu tinha um relatório que deveria ser gerado com o JarperReports cuja consulta a ser realizada no banco poderia mudar constantemente, de acordo com o filtro que o usuário selecionasse na tela. Uma solução me veio à cabeça imediatamente: mandar um ArrayList para o JasperReports com o resultado da minha consulta para que ele preencha os dados. Essa solução é prática e fácil de implementar, mas esse ArrayList poderia ficar muito grande, visto que meu banco possuía muitas informações.
A melhor solução que encontrei foi passar a consulta inteira como parâmetro para o JasperReports fazer a consulta no banco. Para ilustrar como fazer isso, vamos aos passos abaixo: