列举一下需要的资源: 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创建图表报表相关推荐

  1. Stimulsoft Reports.Net基础教程(九):创建图表报表①

    2019独角兽企业重金招聘Python工程师标准>>> 1.运行设计器 2.连接数据 2.1.创建New Connection 2.2.创建New Data Source 3.放置C ...

  2. Stimulsoft Reports.Net基础教程(十):创建图表报表②

    2019独角兽企业重金招聘Python工程师标准>>> 添加样式 1.返回报表模板 2.调用Style Designer 下图显示的是Style Designer: 点击Add St ...

  3. qt连接mysql创建表_Qt编译mysql以及创建表后进行导入操作

    鉴于很多同学对Qt编译myql总是不能成功.出现各种问题,今天特此写出本教程,希望可以帮到须要的同学. 首先,须要明确编译的目的和原理. 目的:Qt 5.2版本号曾经都是不带mysql驱动的.所以须要 ...

  4. c 连接 mysql 创建数据库_c sqlite创建数据库连接

    iOS开发之SQLite-C语言接口规范(一)--Ready And Open Your SQLite 为什么要搞一搞SQLite的C语言接口规范呢? 因为在做iOS开发中难免会遇到操作数据库的情况, ...

  5. 用vs2019使用C#连接MySQL创建图书管理系统(1-7)源码集,未优化,未美化

    目录 已经实现的功能 DAO.cs Data.cs Program.cs login.cs admin.cs ①admin1.cs[管理员主页面] ②admin2.cs[图书管理页面]​编辑 1.添加 ...

  6. egg --- 配置连接mysql 创建模型 插入数据

    在egg中使用egg-sequelize插件 sequelize是与数据库操作相关的库 安装: npm install --save egg-sequelize mysql2 在egg中配置seque ...

  7. qt连接mysql创建表_用Qt访问数据库写一个 表格

    访问数据库,将数据填充数据表格大致样子如下: 该怎么实现呢. 首先创建一个数据库模型的对象:QSqlQueryModel *model = new QSqlQueryModel; 然后提取数据库数据: ...

  8. 快逸报表部署 (一)-- demo连接mysql数据库

    1. 设计器连接mysql数据库, 创建first.raq报表文件 2. 创建demo.jsp,嵌入报表,jsp顶部加入下面两行 <%@ page contentType="text/ ...

  9. 连接mysql数据库,创建用户模型

    安装与配置python3.6+flask+mysql数据库 下载安装MySQL数据库 下载安装MySQL-python 中间件 pip install flask-sqlalchemy (Python ...

  10. mysql创建全外连接的视图_MySQL之视图

    SQL语言之视图 前言 本章我们将学习MySQL中的视图,视图是数据库中的重要组件,本文将从视图是什么,视图的作用,创建和使用视图以及修改视图这些方面讲解视图. 视图是什么 视图View是一种虚拟的表 ...

最新文章

  1. java事件处理模型_从零开始理解JAVA事件处理机制(3)
  2. 自动驾驶中图像与点云融合的深度学习研究进展综述
  3. ElasticSearch+ElasticGeo+Geoserver发布ES地理数据
  4. 孔兵 库卡机器人_名企零距离 专访库卡首席执行官 孔兵先生
  5. livewriter写Blog 神秘失踪?
  6. Python subprocess执行持续输出shell命令的控制
  7. Codeforces Round #392(div 2) 758D (贪心)
  8. ES6, Angular,React和ABAP中的String Template(字符串模板)
  9. 前端学习(2562):v-loading
  10. android用户登录volley,如何在Android上使用Volley进行基本身份验证?
  11. 树的合并 connect
  12. mysql安装教程【安装版】
  13. 【边缘计算】刘阳:边缘计算发展中的若干热点问题及思考
  14. 预训练模型(PTMs)发展史
  15. (面试---西安立辰远景公司)
  16. linux队列管理器复位,Linux如何实现MQ开机自动启动队列管理器
  17. Artanis: 工作日志自动收发系统
  18. 【李开复】大学四年应该这么度过(四)
  19. MySQL的ADO控件_力控组态软件后台组件Ado组件的控件方法1
  20. 二项分布累积分布函数绘制

热门文章

  1. 分享一下申请CSDN博客专家成功后的好处
  2. 飞信怎么登陆总是显示服务器错误咋回事,手机飞信无法登陆怎么办 飞信无法登陆解决方法...
  3. 程序员学炒股(3) 个股和大盘的关系之二
  4. DATE_FORMAT函数用法
  5. C#winform上传图片
  6. 2008服务器系统开启ftp,2008服务器开启ftp服务
  7. 知乎热议:科学网发布文章称「我国数学家证明 NP=P」,会带来怎样的影响?
  8. python 扫描二维码
  9. 【CityHunter】通过Unity3D来制作游戏中AR部分的内容
  10. 基金业绩的python分析_Python与量化多因子——聊聊Brinson业绩归因