quinta-feira, 5 de janeiro de 2012

Usando relatórios no netbeans (plugin ireport 4.5)

Olá, estou disponibilizando um tutorial de como inserir o plugin do ireport no netbenas 7.0.1, e também como gerar um relatório. Percebi que muitos ficam com dúvida e há muitos problemas nos foruns que não passam na integra, sempre falta alguma coisa.
São 7 videos sequênciais, e estou disponibilizando o código de algumas classes aqui, como conexão com banco de dados mysql, usando JDBC e o método para chamar o ireport dentro de uma aplicação JAVA para Desktop.

1º Aula - Inserindo o plugin no netbenas
Não esqueça de baixar o plugin do site do netbeans ou do irport




http://www.youtube.com/watch?v=T4pwRHiSL14

Os demais videos estão no youtube, são 7 vídeo-aulas.

Classe para conectar no banco de dados:

package dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionDataBase {
private static final String URL_MYSQL = "jdbc:mysql://localhost/agenda";
private static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
private static final String USER = "root";
private static final String PASS = "minhasenha";

public static Connection getConnection() {
System.out.println("Conectando ao Banco de Dados");
try {
Class.forName(DRIVER_CLASS);
return DriverManager.getConnection(URL_MYSQL, USER, PASS);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}

}

Método para chamar o relatório:

TODOS imports utilizado para funcionar o ireport

import dao.ConnectionDataBase;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.util.HashMap;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;

import net.sf.jasperreports.engine.JRDataset;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;



//método


public void report() throws JRException
{
Connection conn = ConnectionDataBase.getConnection();

JasperReport jasper;
HashMap map = new HashMap();



jasper = (JasperReport) JRLoader.loadObject("C:/Users/bruno/Documents/NetBeansProjects/DesktopApplication1/src/relatorio/report4.jasper");
// JasperPrint jasperPrint = JasperFillManager.fillReport(jasper, null ,conn);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasper, map, conn);

//abre preview
// JasperViewer.viewReport(jasperPrint);

JasperViewer jv = new JasperViewer(jasperPrint, false);
jv.setVisible(true);


}


As APIs utilizadas inclusas no library(biblioteca do projeto)
Jasper 3.7.4
Jasper 4.5
Jasper 3.0
Mysql
Groovy

Qualquer dúvida acesse os vídeos no youtube.

Até mais, e bom estudos.