ireport mysql_iReport连接Mysql创建图表报表
列举一下需要的资源: 1、mySql数据库安装好的 2、iReport+jasperreport配置好 3、我用的是Myeclipse,MySQL的驱动jar包不要忘记 第一部分:创建数据库连接 package com.mySqlsource;import java.sql.Connection;public class Database {private String dbUr
列举一下需要的资源:
1、mySql数据库安装好的
2、iReport+jasperreport配置好
3、我用的是Myeclipse,MySQL的驱动jar包不要忘记
第一部分:创建数据库连接
package com.mySqlsource;
import java.sql.Connection;
public class Database {
private String dbUrl = "jdbc:mysql://localhost:3306/bookdb";
private String dbUser="root";
private String dbPwd="123456";
public Database () throws Exception{
Class.forName("com.mysql.jdbc.Driver");
}
public Connection getConnection()throws Exception{
return java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
}
public void closeConnection(Connection con){
try{
if(con!=null) con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
这个格式基本都一样的,其中bookdb是我新建数据库的名称,getConnection和closeConnection是两个操作开关,在使用的时候直接新建Database对象调用就好了。
第二部分:先看看我的数据库books表
打开iReport新建一张表不懂的话去看其他人的博客,很多的。在界面上找到数据源
打开进行如下选择
这个应该很简单的,设置完之后点击Test会提示测试成功,否则就是你的某些设置没做好,再重新检查一遍
打开组件面板找到
拖动到任意bands中,在iReport4.6.0中有一部分表格是有想到的,一部分没有,这个倒没关系了有的话一路next下去
没有的话直接完成后在图表上面右键选择chart data;点击Details,
这里是有默认名称的,双击默认名称打开属性设置界面
关于各个字段的意思及作用,我之前的文章有写到过,这里就不在赘述,有需要的话就翻翻前面的好了。
设置好之后,点击预览会出现如下情况
原因是在设计面板右侧图表的属性一栏,有一个属性Evaluation Time,大致意思就是什么时候进行更新数值,它默认是NOW
在这种情况下,只有你放在detail bands才会出现,但是它会出现很多次,不是我们想要的。将它设置为report就是在报表数据配置好之后进行更新,再次预览
第三部分:做好了这一步之后,对于可以连接数据库的人来说已经够了,但是如果想要通过web动态生成客户想要的报表呢,那么我们还是要通过网络连接数据库,之后再动态我们需要的模板
我使用Myeclipse+tomcat做的网站
package com.mySqlsource;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.sql.Connection;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.util.JRLoader;
public class MySqlSource extends HttpServlet{
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(req, resp);
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
try{
String root_path=this.getServletContext().getRealPath("/");
root_path=root_path.replace("\\", "/");
String file_path=root_path+"chart/test_char.jasper";
Database data=new Database();
Connection con=data.getConnection();
JasperReport report= (JasperReport)JRLoader.loadObject(file_path);
JasperPrint print=JasperFillManager.fillReport(report, null, con);
data.closeConnection(con);
OutputStream ouputStream = resp.getOutputStream();
resp.setContentType("application/pdf");
resp.setCharacterEncoding("UTF-8");
resp.setHeader("Content-Disposition", "attachment; filename=\""+ URLEncoder.encode("PDF报表", "UTF-8") + ".pdf\"");
// 使用JRPdfExproter导出器导出pdf
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
exporter.exportReport();
ouputStream.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
文件列表
test_char.jasper(本来想是test_chart.jasper后来发现创建时候少打了一个字母
)是iReport预览编译之后生成的,在你的创建目录中找得到
代码很简单,关键的几个函数:
JasperReport report= (JasperReport)JRLoader.loadObject(file_path);
JasperPrint print=JasperFillManager.fillReport(report, null, con);
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
这几个函数在之前的文章中也提到过,所以不再啰嗦。
特别注意:要将jasperreport的lib文件最好是都放到web项目的WEB-INF/lib目录下,生的报错
如果需要源码,留邮箱,希望能共同探讨
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
ireport mysql_iReport连接Mysql创建图表报表相关推荐
- Stimulsoft Reports.Net基础教程(九):创建图表报表①
2019独角兽企业重金招聘Python工程师标准>>> 1.运行设计器 2.连接数据 2.1.创建New Connection 2.2.创建New Data Source 3.放置C ...
- Stimulsoft Reports.Net基础教程(十):创建图表报表②
2019独角兽企业重金招聘Python工程师标准>>> 添加样式 1.返回报表模板 2.调用Style Designer 下图显示的是Style Designer: 点击Add St ...
- qt连接mysql创建表_Qt编译mysql以及创建表后进行导入操作
鉴于很多同学对Qt编译myql总是不能成功.出现各种问题,今天特此写出本教程,希望可以帮到须要的同学. 首先,须要明确编译的目的和原理. 目的:Qt 5.2版本号曾经都是不带mysql驱动的.所以须要 ...
- c 连接 mysql 创建数据库_c sqlite创建数据库连接
iOS开发之SQLite-C语言接口规范(一)--Ready And Open Your SQLite 为什么要搞一搞SQLite的C语言接口规范呢? 因为在做iOS开发中难免会遇到操作数据库的情况, ...
- 用vs2019使用C#连接MySQL创建图书管理系统(1-7)源码集,未优化,未美化
目录 已经实现的功能 DAO.cs Data.cs Program.cs login.cs admin.cs ①admin1.cs[管理员主页面] ②admin2.cs[图书管理页面]编辑 1.添加 ...
- egg --- 配置连接mysql 创建模型 插入数据
在egg中使用egg-sequelize插件 sequelize是与数据库操作相关的库 安装: npm install --save egg-sequelize mysql2 在egg中配置seque ...
- qt连接mysql创建表_用Qt访问数据库写一个 表格
访问数据库,将数据填充数据表格大致样子如下: 该怎么实现呢. 首先创建一个数据库模型的对象:QSqlQueryModel *model = new QSqlQueryModel; 然后提取数据库数据: ...
- 快逸报表部署 (一)-- demo连接mysql数据库
1. 设计器连接mysql数据库, 创建first.raq报表文件 2. 创建demo.jsp,嵌入报表,jsp顶部加入下面两行 <%@ page contentType="text/ ...
- 连接mysql数据库,创建用户模型
安装与配置python3.6+flask+mysql数据库 下载安装MySQL数据库 下载安装MySQL-python 中间件 pip install flask-sqlalchemy (Python ...
- mysql创建全外连接的视图_MySQL之视图
SQL语言之视图 前言 本章我们将学习MySQL中的视图,视图是数据库中的重要组件,本文将从视图是什么,视图的作用,创建和使用视图以及修改视图这些方面讲解视图. 视图是什么 视图View是一种虚拟的表 ...
最新文章
- java事件处理模型_从零开始理解JAVA事件处理机制(3)
- 自动驾驶中图像与点云融合的深度学习研究进展综述
- ElasticSearch+ElasticGeo+Geoserver发布ES地理数据
- 孔兵 库卡机器人_名企零距离 专访库卡首席执行官 孔兵先生
- livewriter写Blog 神秘失踪?
- Python subprocess执行持续输出shell命令的控制
- Codeforces Round #392(div 2) 758D (贪心)
- ES6, Angular,React和ABAP中的String Template(字符串模板)
- 前端学习(2562):v-loading
- android用户登录volley,如何在Android上使用Volley进行基本身份验证?
- 树的合并 connect
- mysql安装教程【安装版】
- 【边缘计算】刘阳:边缘计算发展中的若干热点问题及思考
- 预训练模型(PTMs)发展史
- (面试---西安立辰远景公司)
- linux队列管理器复位,Linux如何实现MQ开机自动启动队列管理器
- Artanis: 工作日志自动收发系统
- 【李开复】大学四年应该这么度过(四)
- MySQL的ADO控件_力控组态软件后台组件Ado组件的控件方法1
- 二项分布累积分布函数绘制
热门文章
- 分享一下申请CSDN博客专家成功后的好处
- 飞信怎么登陆总是显示服务器错误咋回事,手机飞信无法登陆怎么办 飞信无法登陆解决方法...
- 程序员学炒股(3) 个股和大盘的关系之二
- DATE_FORMAT函数用法
- C#winform上传图片
- 2008服务器系统开启ftp,2008服务器开启ftp服务
- 知乎热议:科学网发布文章称「我国数学家证明 NP=P」,会带来怎样的影响?
- python 扫描二维码
- 【CityHunter】通过Unity3D来制作游戏中AR部分的内容
- 基金业绩的python分析_Python与量化多因子——聊聊Brinson业绩归因