Boa tarde pessoal estou com um problema ao gerar um relatorio utilizando a classe JRBeanCollectionDataSource, segue abaixo meu código.
Classe que gera um ArrayList do banco de dados com o ID Pesquisado
public ArrayList<usuario> ArrayJasperReportJRBean(int Cod){
AcessoDadosOracle acessoDadosOracle = new AcessoDadosOracle();
usuario usuario = new usuario();
ArrayList<usuario> ArraylistUsuario = new ArrayList<usuario>();
try{
String SQL = "SELECT USU_COD, USU_CPF, USU_NOME, USU_STATUS, USU_RG, USU_SEXO FROM USUARIO "
+ "WHERE USU_COD = '"+Cod+"'";
PreparedStatement statement = acessoDadosOracle.getConexao().prepareStatement(SQL);
ResultSet resultSet = statement.executeQuery();
while(resultSet.next()){
usuario.setCodigo(resultSet.getInt("USU_COD"));
usuario.setCPF(resultSet.getLong("USU_CPF"));
usuario.setNome(resultSet.getString("USU_NOME"));
usuario.setStatus(resultSet.getString("USU_STATUS"));
usuario.setRG(resultSet.getString("USU_RG"));
usuario.setSexo(resultSet.getString("USU_SEXO"));
ArraylistUsuario.add(usuario);
}
return ArraylistUsuario;
}
catch(SQLException exSql){
JOptionPane.showMessageDialog(null, "Erro Método ArrayJasperReportJrBean" + exSql);
exSql.printStackTrace();
return null;
}
Agora minha Servlet tentando exibir o relatório
response.setContentType("application/pdf");
String Codigo = request.getParameter("codigoGerarPdf");
ArrayList<usuario> arrayListUsuario = new ArrayList<usuario>();
classNegUsuario negUsuario = new classNegUsuario();
try {
arrayListUsuario = negUsuario.ArrayJasperReportJRBean(Integer.parseInt(Codigo));
Map parametros = new HashMap();
parametros.put("Codigo", Integer.parseInt(Codigo));
JRBeanCollectionDataSource jrBeanCollec = new JRBeanCollectionDataSource(arrayListUsuario);
JasperPrint jasperPrint = JasperFillManager.fillReport(getServletContext().getRealPath("/relatorio/usuarioRelatorioJRBean.jasper"), parametros, jrBeanCollec);
if (jasperPrint != null) {
byte[] bytes = JasperExportManager.exportReportToPdf(jasperPrint);
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
Erro que está aparecendo ao tentar Gerar
net.sf.jasperreports.engine.JRException: Error retrieving field value from bean: Codigo
Estou utilizando o Ireport 3.7
E no meu arquivo Ireport.jrxml só criei os campo no Fields com o nome da minha Classe Get e SET
Exemplo essa classe é o que o array recebe
public class usuario {
private int Codigo;
private Long CPF;
private String Nome;
private String Status;
private byte[] FotoByte;
private String RG;
private String Sexo;
/**
* @return the Codigo
*/
public int getCodigo() {
return Codigo;
}
