展开全部
一般是跟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;
}
%>
已赞过
已踩过<
你对这个回答的评价是?
评论
收起