Sie sind auf Seite 1von 3

- by RAGHU SIR, NARESH IT, Hyderabad.

JFreeCharts Example
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.5.0</version>
</dependency>

IShipmentDao:-
public List<Object[]> getShipmentModeCount();

DaoImpl:-
public List<Object[]> getShipmentModeCount() {
String hql=" select shipMode,count(shipMode) "
+ " from in.nit.model.ShipmentType "
+ " group by shipMode ";

return (List<Object[]>) ht.find(hql);


}

ShipmentTypeUtil.java
package in.nit.util;

import java.io.File;
import java.io.IOException;
import java.util.List;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtils;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.springframework.stereotype.Component;

@Component
public class ShipmentTypeUtil {

public void generatePie(String path,List<Object[]> data) {


//1. create dataset

1|Page
- by RAGHU SIR, NARESH IT, Hyderabad.

DefaultPieDataset dataset=new DefaultPieDataset();


for(Object[] arr:data) {
//key-shipMode, val-count
dataset.setValue(arr[0].toString(),
Double.valueOf(arr[1].toString()));
}
//2. Create JFreeChart using ChartFactory
JFreeChart chart=ChartFactory.createPieChart3D("ShipmentType
Modes", dataset, true, true, false);
//3. save as Image using ChartUtils
try {
ChartUtils.saveChartAsJPEG(new
File(path+"/resources/images/shipmentA.jpg"), chart, 400, 400);
} catch (IOException e) {
e.printStackTrace();
}
}

/**
* ----------------------------
*/
public void generateBar(String path,List<Object[]> data) {
//1. Create DataSet
DefaultCategoryDataset dataset=new DefaultCategoryDataset();
for(Object[] arr:data) {
//val-index-1(y-axis), key-index-0(x-axis)
dataset.setValue(Double.valueOf(arr[1].toString()),
arr[0].toString(), "");
}
//2. Create JFreeChart using ChartFactory
JFreeChart chart=ChartFactory.createBarChart("ShipmentType
Mode", "Modes", "COUNT", dataset);
//3. Save as Image using ChartUtil
try {
ChartUtils.saveChartAsJPEG(new
File(path+"/resources/images/shipmentB.jpg"), chart, 400, 400);
} catch (IOException e) {
e.printStackTrace();
}
}

2|Page
- by RAGHU SIR, NARESH IT, Hyderabad.

ShipmentTypeCharts.jsp
<html>
<body>
<h3>WELCOME TO SHIPMENT CHARTS</h3>
<img src="../resources/images/shipmentA.jpg" />
<img src="../resources/images/shipmentB.jpg" />
</body>
</html>

ShipmentCntroller:-
@Autowired
private ServletContext context;

@Autowired
private ShipmentTypeUtil util;

add below method

@RequestMapping("/charts")
public String showCharts() {
List<Object[]> list=service.getShipmentModeCount();
String path=context.getRealPath("/");
util.generatePie(path, list);
util.generateBar(path, list);
return "ShipmentTypeCharts";
}

FB: https://www.facebook.com/groups/thejavatemple/

3|Page

Das könnte Ihnen auch gefallen