模板和数据-保存模板至数据库

1 概述

1.1 应用场景

一般情况下,生成的模板文件存储在硬盘中。 如果硬盘损坏,文件就会丢失,后果很严重。 为了降低这种风险,我们可以将所有模板文件保存在数据库中(二进制数据)。 这样,如果硬盘损坏模板和数据,文件丢失,也可以将数据库中的备份文件取出来,避免造成重大损失。

下图所示,cpt模板已保存到MySQL数据库中。 点击查询可以看到保存的二进制文件。 那么,如何将cpt模板保存到数据库中呢?

1.2 实现原理

通过程序读取报告后,将其提交到数据库。

2. 示例

以下示例读取内置模板 GettingStarted.cpt 并将其存储在数据库表报告中。

2.1 准备存储表

模板和数据_数据管理系统模板_雅思小作文范文数据描写模板

首先,在数据库中建立一个报告表,其中包含两个字段cptname(字符串类型)和cpt(二进制数据类型)。 如下图所示,在MySQL数据库中新建一个表report。

2.2 准备编译环境

在编译程序之前,需要创建Java项目环境和Java编辑器,例如Eclipse或idea。

将FineReport项目JAR包导入到编辑器项目中。包括用户自己的报表项目

%FR_HOME%/lib下的所有包,

%FR_HOME%/server/lib 下的所有包,

%FR_HOME%/webapps/webroot/WEB-INF/lib 下的所有包;

代码中会保存模板信息,需要导入对应的JDBC驱动。

同时引入JDK下的tools.jar。详细操作请参考:编译Java程序

2.3 编写Java程序

在编辑器中编写Java程序SaveReportToDatabase.java,该程序读取内置模板GettingStarted.cpt并将其存储在数据库表报表中。 完整的代码可以在以下位置找到:

模板和数据_雅思小作文范文数据描写模板_数据管理系统模板

注1:本程序使用JDBC连接数据库。 导入2.2节的JAR包时模板和数据,需要将对应的数据库驱动包导入到工程中。

注2:用户使用时,请注意将示例代码中的项目路径和模板名称替换为用户自己项目下的项目路径和模板名称; 并将数据库连接信息替换为用户准备的数据库。

注3:如果数据库不区分大小写,则代码无需修改; 如果数据库区分大小写,则需要在表名前加上双引号,修改后插入到“report”values(?,?)中。

2.4 编译Java文件

Java程序编写完成后,在编译器中编译SaveReportToDatabase.java。 编译通过后,您将在数据库表报告中看到新的模板记录。 如下所示: