Jfreechart-database-interface
提供:Dev Guides
JFreeChart-データベースインターフェイス
この章では、データベーステーブルから単純なデータを読み取り、JFreeChartを使用して選択したチャートを作成する方法について説明します。
ビジネスデータ
次のMySQLテーブルmobile_tbl(mobile_brand VARCHAR(100)NOT NULL、unit_sale INT NO NULL)があるとします。
このテーブルが次のレコードを持っていると考えてください-
Mobile Brands | Unit Sales |
---|---|
IPhone5S | 20 |
Samsung Grand | 20 |
MotoG | 40 |
Nokia Lumia | 10 |
データベースを使用したチャート生成
以下は、MySQLデータベースのtest_dbで利用可能なmobile_tblテーブルで提供される情報に基づいて円グラフを作成するコードです。 要件に基づいて、他のデータベースを使用できます。
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 );
}
}
上記のJavaコードを PieChart_DB.java ファイルに保存し、プロンプトが表示されたコマンドからコンパイルして実行します。
$javac PieChart_DB.java
$java PieChart_DB
すべて問題なければ、コンパイルして実行し、次のチャートを持つ Pie_Chart.jpeg という名前のJPEG画像ファイルを作成します。