此案例是用swing显示数据的。须要引入jfreechart相关包。不同版本号可能包不同样。本人用的是
此案例在ssi框架下会报错,不用框架就没问题。
Java后台逻辑代码:
public class BarChart {
ChartPanel frame1; public BarChart() {
CategoryDataset dataset = getDataSet();
JFreeChart chart = ChartFactory.createBarChart3D("水果", // 图表标题
"水果种类", // 文件夹轴的显示标签
"数量", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
); // 从这里開始
CategoryPlot plot = chart.getCategoryPlot();// 获取图表区域对象
CategoryAxis domainAxis = plot.getDomainAxis(); // 水平底部列表
domainAxis.setLabelFont(new Font("黑体", Font.BOLD, 14)); // 水平底部标题
domainAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 12)); // 垂直标题
ValueAxis rangeAxis = plot.getRangeAxis();// 获取柱状
rangeAxis.setLabelFont(new Font("黑体", Font.BOLD, 15));
chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 15));
chart.getTitle().setFont(new Font("宋体", Font.BOLD, 20));// 设置标题字体 // 到这里结束,尽管代码有点多,但仅仅为一个目的,解决汉字乱码问题 frame1 = new ChartPanel(chart, true); // 这里也能够用chartFrame,能够直接生成一个独立的Frame } private static CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
List<News> data = new ArrayList<News>();
NewsDao dao = new NewsDao();
ArrayList<News> list = dao.queryAll();
double value =0;
String rowKeys=null;
String columnKeys=null;
for (News news : list) {
// data.add(new News(news.getNewsId(), news.getTypeId(), news
// .getTitle(), news.getPublishTime(), news.getBody(), news
// .getTag(), news.getAuthor(), news.getClicks(), news
// .getImgUrl()));
value = news.getNewsId();
rowKeys = news.getTitle();
columnKeys = news.getAuthor();
dataset.addValue(value, rowKeys, columnKeys);
System.out.println(value+" "+rowKeys+" "+columnKeys);
}
// if(value!=0&&rowKeys!=null&&columnKeys!=null){
// System.out.println(value+" "+rowKeys+" "+columnKeys);
// dataset.addValue(value, rowKeys, columnKeys);
// }
// dataset.addValue(100, "北京", "苹果");
// dataset.addValue(100, "上海", "苹果");
// dataset.addValue(100, "广州", "苹果");
// dataset.addValue(200, "北京", "梨子");
// dataset.addValue(200, "上海", "梨子");
// dataset.addValue(200, "广州", "梨子");
// dataset.addValue(300, "北京", "葡萄");
// dataset.addValue(300, "上海", "葡萄");
// dataset.addValue(300, "广州", "葡萄");
// dataset.addValue(400, "北京", "香蕉");
// dataset.addValue(400, "上海", "香蕉");
// dataset.addValue(400, "广州", "香蕉");
// dataset.addValue(500, "北京", "荔枝");
// dataset.addValue(500, "上海", "荔枝");
// dataset.addValue(500, "广州", "荔枝");
return dataset;
} public ChartPanel getChartPanel() {
return frame1; } public static void main(String[] args) {
JFrame frame = new JFrame("Java数据统计图");
// frame.setLayout(new GridLayout(2,2,10,10));
frame.add(new BarChart().getChartPanel()); // 加入柱形图
// frame.add(new BarChart1().getChartPanel()); //加入柱形图的还有一种效果
// frame.add(new PieChart().getChartPanel()); //加入饼状图
// frame.add(new TimeSeriesChart().getChartPanel()); //加入折线图
frame.setBounds(50, 50, 800, 600);
frame.setVisible(true);
}
}

其它类就不上代码了,跟你平时连数据库一样。

看张效果图:[数据乱写的]

Java读取数据库数据生成柱状图的更多相关文章

  1. java 读取数据库数据转化输出XML输出在jsp页面

    因为老师实验报告要求,搭建服务端解析XML 下面代码实现转化XML格式也是在网上找的转化代码 输出在jsp页面以便于客户端解析是自己写的 一个类就解决了Test package tests; //三只 ...

  2. 读取数据库数据,并将数据整合成3D饼图在jsp中显示

    首先我将生成饼图的方法独立写成一个PieChar.java类,详细代码如下:(数据库需要自己建,如有需要的话) import java.io.IOException; import java.sql. ...

  3. jxl读数据库数据生成xls 并下载

    1.所需jar jxl-2.6.10.jar jxls-core-1.0-RC-3.jar jxls-reader-1.0-RC-3.jar 2. excel修改行宽度封装 SheetColumn.j ...

  4. Java读取Excel数据

    Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 下图是excel文件的路径和文件名 下图是exce ...

  5. java 读取CSV数据并写入txt文本

    java 读取CSV数据并写入txt文本 package com.vfsd; import java.io.BufferedWriter; import java.io.File; import ja ...

  6. C#使用SqlDataReader读取数据库数据时CommandBehavior.CloseConnection参数的作用

    主要用在ExecuteReader(c)中,如果想要返回对象前不关闭数据库连接,须要用CommandBehavior.CloseConnection: CloseConnection解决了流读取数据模 ...

  7. Java将数据库数据导入EXCEL

    一般的数据库数据怎么导入excel中呢??这让人非常疑惑,今天我找到了一个方法能够实现 须要导入一个第三方包下载地址 详细内容例如以下: 里面含有指导文档,index.html里面含有怎样读取数据库文 ...

  8. Spark使用Java读取mysql数据和保存数据到mysql

    原文引自:http://blog.csdn.net/fengzhimohan/article/details/78471952 项目应用需要利用Spark读取mysql数据进行数据分析,然后将分析结果 ...

  9. 【助教】Java获取数据库数据展示

    本文将给出一个最简单的Java查询数据库中一张表的数据并将查询结果展示在页面的例子. 实际上,我们要解决以下两个问题: Java与数据库交互(以JDBC为例) 数据展示在前台页面(以Servlet+J ...

随机推荐

  1. ubuntu下编译VLC源码

    http://blog.csdn.net/beitiandijun/article/details/9225591ubuntu下编译VLC源码 分类: 视频处理 2013-07-02 17:33 57 ...

  2. 微信小程序组件解读和分析:四、icon图标

      icon图标组件说明: icon是一种图标格式,用于系统图标.软件图标等,这种图标扩展名为.icon..ico.常见的软件或windows桌面上的那些图标一般都是ICON格式的.在应用上面很多地方 ...

  3. java_IO_3

    Reader和Writer针对字符文件  对图片类文件可能就显得无能为力了  会损坏文件 package ioStudy; import java.io.File; import java.io.Fi ...

  4. vue基础---计算属性和侦听器

    [一]计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="example"> ...

  5. TWaver 3D作品Viewer查看器

    为了让开发者更方便的对各类3D模型.设备.物体进行浏览和查看,我们直接封装了mono.Viewer组件.它可以直接根据给定的数据源(json.obj.url等)进行数据加载和浏览展示.对于一般的3D设 ...

  6. Luogu P4549 裴蜀定理 / Min

    思路 题目已经给出了正解.我们只需要将裴蜀定理推广到若干数的线性组合就可以做这道题了 要注意的是需要在输入的时候取一个绝对值.因为可能会有负数存在.我之前也写过裴蜀定理的证明,要看的话点这里 吐槽 第 ...

  7. linux环境下时间的查看和修改

    查看日期和时间date 查看时区date -R 查看UTC时间date -u 修改日期[root@centos ~]# date -s 20181230Sun Dec 30 00:00:00 EST ...

  8. Linux之sed:删除某行以及替换

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed ...

  9. Go:内置函数

    一.内置函数 close // 主要用来关闭channel len // 用来求长度,比如string.array.slice.map.channel new // 用来分配内存,主要用来分配值类型, ...

  10. Django 缓存之配置Redis

    一.cache介绍 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存. 缓存工作原理:缓存是将一些常用的数据保存内存或 ...