java fusioncharts_怎样在java web中使用fusioncharts

这篇博客展示了如何使用Java、Gson库和FusionCharts从MySQL数据库中获取数据,并创建堆叠条形图。示例代码包括数据库连接、查询执行、数据转换为JSON以及使用FusionCharts呈现图表的过程。
摘要由CSDN通过智能技术生成

展开全部

一般是跟jsp配合使用的,这636f70793231313335323631343130323136353331333363386134里有个完整的例子供参考:

String hostdb = "localhost:3306"; // MySQl 主机名

String userdb = "root"; // MySQL 用户名

String passdb = ""; // MySQL 密码

String namedb = "fusioncharts_jspsample"; // MySQL 数据库名

// 建立数据库连接

DriverManager.registerDriver(new com.mysql.jdbc.Driver());

Connection con = DriverManager.getConnection("jdbc:mysql://" + hostdb + "/" + namedb , userdb , passdb);

st = con.createStatement();

%>

Creating Charts with Data from a Database - fusioncharts.com

/*

google-gson

Gson is a Java library that can be used to convert Java Objects into

their JSON representation. It can also be used to convert a JSON string to

an equivalent Java object. Gson can work with arbitrary Java objects including

pre-existing objects that you do not have source-code of.

link : https://github.com/google/gson

*/

Gson gson = new Gson();

// Form the SQL query that returns the top 10 most populous countries

// String sql="SELECT * FROM stackedbarchart";

rs = st.executeQuery("SELECT * FROM stackedbarchart");

// Execute the query.

// PreparedStatement pt=con.prepareStatement(sql);

// ResultSet result=pt.executeQuery();

System.out.println("Result of sql one"+rs);

// The 'chartobj' map object holds the chart attributes and data.

Map chartobj = new HashMap();//for getting key value pair

chartobj.put("caption", "Product-wise quarterly revenue in current year");

chartobj.put("subCaption", "Harrys SuperMart");

chartobj.put("captionFontSize", "14");

chartobj.put("subcaptionFontSize", "14");

chartobj.put("subcaptionFontBold", "0");

chartobj.put("paletteColors", "#0075c2,#1aaf5d");

chartobj.put("bgcolor", "#ffffff");

chartobj.put("showBorder", "0");

chartobj.put("showShadow", "0");

chartobj.put("showCanvasBorder", "0");

chartobj.put("valueFontColor","#ffffff");

chartobj.put("usePlotGradientColor", "0");

chartobj.put("legendBorderAlpha", "0");

chartobj.put("legendShadow", "0");

chartobj.put("showAxisLines", "0");

chartobj.put("showAlternateHGridColor", "0");

chartobj.put("divlineThickness", "1");

chartobj.put("divLineDashed", "1");

chartobj.put("divLineDashLen", "1");

chartobj.put("divLineGapLen", "1");

chartobj.put("xAxisName", "Quarter");

chartobj.put("yAxisName","Revenue(In USD)");

chartobj.put("showValues", "1");

chartobj.put("showHoverEffect","1");

//prepare categories

ArrayList categories = new ArrayList();

ArrayList dataset = new ArrayList();

int id1,id2,id3;

String a ="";

while (rs.next())

{

id1=rs.getInt(3);

id2=rs.getInt(4);

//id3=rs.getInt(2);

a=rs.getString(2);

System.out.println("Result of sql two1"+id1);

System.out.println("Result of sql two2"+id2);

System.out.println("Result of sql two3"+a);

//System.out.println("Result of sql two3"+id3);

}

categories.add(buildCategories("label",rs,gson));

System.out.println("Result of sql buildCategories"+buildCategories("label",rs,gson));

dataset.add(buildDataset("RamcoCount","ramco_imp", rs, gson));

dataset.add(buildDataset("PartnerCount", "partner_imp", rs, gson));

System.out.println("Result of sql buildDataset"+buildDataset("PartnerCount", "partner_imp", rs, gson));

// }System.out.println("Result of sql two"+categories);

//prepare dataset

System.out.println("Result of sql three"+dataset);

//close the connection.

rs.close();

//create 'dataMap' map object to make a complete FusionCharts datasource.

Map dataMap = new LinkedHashMap();

/*

gson.toJson() the data to retrieve the string containing the

JSON representation of the data in the array.

*/

dataMap.put("chart", gson.toJson(chartobj));

dataMap.put("categories", gson.toJson(categories));

dataMap.put("dataset", gson.toJson(dataset));

FusionCharts mslineChart= new FusionCharts(

"stackedbar2d",// chartType

"chart1",// chartId

"600","400",// chartWidth, chartHeight

"chart",// chartContainer

"json",// dataFormat

gson.toJson(dataMap) //dataSource

);

System.out.println(dataMap);

%>

/**

* @description - Build the Json for the categories

* @param {String} data_item - Name of the column from table

* @param {ResultSet} rs - The object of ResultSet maintains a

* cursor pointing to a particular row of data.

* @param {Gson} gson - Gson is a Java library that can be used

* to convert Java Objects into their JSON representation.

* @return {Map Object}

*/

public Map buildCategories(String data_item, ResultSet rs,Gson gson) {

//creation of the inner category

Map categoryinner = new HashMap();

ArrayList category = new ArrayList();

int counter = -1;

try {

//to restore the position of the result set.

rs.beforeFirst();

while(rs.next()) {

//for creating the key value for the category label from database.

Map lv = new HashMap();

lv.put("label", rs.getString(data_item));

category.add(lv);

counter ++;

}

categoryinner.put("category", gson.toJson(category));

System.out.println(categoryinner);

}catch(Exception ex) {/* if any error occurs */}

return categoryinner;

}

/**

* @description - Build the Json for datasets

* @param {String} seriesname - Lets you specify the series

* name for a particular dataset.

* @param {String} seriescolumnname - Name of the column from table

* @param {ResultSet} - The object of ResultSet maintains a

* cursor pointing to a particular row of data.

* @param {Gson} gson - Gson is a Java library that can be used

* to convert Java Objects into their JSON representation.

* @return {Map Object}

- */

public Map buildDataset(String seriesname, String seriescolumnname, ResultSet rs, Gson gson ) {

Map datasetinner = new HashMap();

datasetinner.put("seriesname", seriesname);

ArrayList makedata = new ArrayList();

try {

//is used to move the cursor to the first row in result set object.

rs.beforeFirst();

while(rs.next()) {

Map preparedata = new HashMap();

preparedata.put("value", rs.getString(seriescolumnname));

makedata.add(preparedata);

}

datasetinner.put("data", gson.toJson(makedata));

} catch(Exception err) {/* if any error occurs */}

return datasetinner;

}

%>

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值