JFreeChart-데이터베이스 인터페이스
이 장에서는 데이터베이스 테이블에서 간단한 데이터를 읽고 JFreeChart를 사용하여 원하는 차트를 만드는 방법을 설명합니다.
비즈니스 데이터
다음 MySQL 테이블이 있다고 가정합니다. mobile_tbl (mobile_brand VARCHAR (100) NOT NULL, unit_sale INT NO NULL);
이 테이블에는 다음과 같은 기록이 있습니다.
모바일 브랜드 | 단위 판매 |
---|---|
아이폰 5S | 20 |
삼성 그랜드 | 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
모든 것이 정상이면 컴파일되고 실행되어 이름이 JPEG 이미지 파일이 생성됩니다. Pie_Chart.jpeg 다음 차트가 있습니다.