JFreeChart - Interface de banco de dados

Este capítulo explica como você pode ler dados simples de uma tabela de banco de dados e, em seguida, usar JFreeChart para criar um gráfico de sua escolha.

Dados de Negócios

Considere que temos a seguinte tabela MySQL mobile_tbl (mobile_brand VARCHAR (100) NOT NULL, unit_sale INT NO NULL);

Considere que esta tabela contém os seguintes registros -

Marcas de celular Vendas unitárias
IPhone5S 20
Samsung Grand 20
MotoG 40
Nokia Lumia 10

Geração de gráficos usando banco de dados

A seguir está o código para criar um gráfico de pizza com base nas informações fornecidas na tabela mobile_tbl disponível em test_db em um banco de dados MySQL. Com base em seus requisitos, você pode usar qualquer outro banco de dados.

import java.io.*; 
import java.sql.*; 

import org.jfree.chart.ChartUtilities;
import org.jfree.chart.ChartFactory; 
import org.jfree.chart.JFreeChart; 
import org.jfree.data.general.DefaultPieDataset;

public class PieChart_DB {
   
   public static void main( String[ ] args )throws Exception {
      
      String mobilebrands[] = {
         "IPhone 5s",   
         "SamSung Grand",   
         "MotoG",            
         "Nokia Lumia" 
      };
      
      /* Create MySQL Database Connection */
      Class.forName( "com.mysql.jdbc.Driver" );
      Connection connect = DriverManager.getConnection( 
         "jdbc:mysql://localhost:3306/jf_testdb" ,     
         "root",     
         "root123");
      
      Statement statement = connect.createStatement( );
      ResultSet resultSet = statement.executeQuery("select * from mobile_data" );
      DefaultPieDataset dataset = new DefaultPieDataset( );
      
      while( resultSet.next( ) ) {
         dataset.setValue( 
         resultSet.getString( "mobile_brand" ) ,
         Double.parseDouble( resultSet.getString( "unit_sale" )));
      }
      
      JFreeChart chart = ChartFactory.createPieChart(
         "Mobile Sales",   // chart title           
         dataset,          // data           
         true,             // include legend          
         true,           
         false );

      int width = 560;    /* Width of the image */
      int height = 370;   /* Height of the image */ 
      File pieChart = new File( "Pie_Chart.jpeg" );
      ChartUtilities.saveChartAsJPEG( pieChart , chart , width , height );
   }
}

Vamos manter o código Java acima em PieChart_DB.java arquivo e, em seguida, compilar e executá-lo a partir do comando solicitado como -

$javac PieChart_DB.java  
$java PieChart_DB

Se tudo estiver bem, ele irá compilar e executar para criar um arquivo de imagem JPEG chamado Pie_Chart.jpeg tendo o seguinte gráfico.