Nell'articolo di oggi vedremo come integrare una sorgente datasource di tipo JDBC nel nostro report. Per prima cosa occorre disporre di una sorgente dati: è possibile utilizzare il database di esempio fornito con Ireport HSQLDB o procurarsi un altra DBMS, Nell'esempio ho usato Mysql fornito con Xampp.

In questo database ho definito lo schema REPORT e in esso ho definito la tabella LIBRI. Ecco lo script per generarlo agevolmente:

DROP TABLE IF EXISTS `libri`;

CREATE TABLE IF NOT EXISTS `libri` (  `id` int(11) NOT NULL,   `titolo` text NOT NULL,  `autore` text NOT NULL,  `genere` text NOT NULL,  PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `libri` (`id`, `titolo`, `autore`, `genere`) VALUES (1, 'libro1', 'autore1', 'giallo'), (2, 'titolo2', 'autore2', 'giallo');

Una volta che abbiamo la nostra sorgente dati passiamo alla definizione del nostro Report. Usiamo IReport per generare un report vuoto e come prima operazione definiamo la connection verso il database appena configurato. Come parametri di configurazione usiamo i seguenti dati:

  • JDBC Driver: MySQL (com.mysql.jdbc.Driver)
  • JDBC URL: jdbc:mysql://localhost/report

Tramite la funzione Report Query individuiamo i campi della tabella LIBRI che vogliono mettere nel nostro report. Scegliamo come language l'SQL e definiamo la nostra query: SELECT      libri.`id` AS libri_id,      libri.`titolo` AS libri_titolo,      libri.`autore` AS libri_autore,      libri.`genere` AS libri_genere FROM      `libri` libri con cui recuperiamo i campi da visualizzare nel nostro report.

Aggiungiamo un testo statico nella banda Titolo, l'intestazione di colonne nella banda Testata di Colonna e nella banda Detail mettiamo i campi restituiti dalla nostra query.

A questo punto non resta che lanciare l'anteprima e avremo il risultato desiderato.

Per comodità trovate il file jrxml con cui fare subito qualche prova.

Prossimo