目录
6.创建配置文件UreportFileMapper.xml实现对应接口
8.创建服务实现类UreportFileServiceImpl
引言
UReport2默认提供的名为“服务器文件系统”的报表存储机制,实际上是实现了UReport2提供的com.bstek.ureport.provider.report.ReportProvider接口;如果我们定义了自己的报表存储器,只需要实现了ReportProvider接口后,并将实现类配置到Spring中,让其成为一个标准的Spring Bean,这样UReport2就会检测到它而将其加载。
1.引入MyBatis依赖
源码:https://gitee.com/lfw1024/myreport/blob/master/pom.xml
<!-- 集成mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
2.简单配置MyBatis和Mysql存储
源码:https://gitee.com/lfw1024/myreport/blob/master/src/main/resources/application.properties
# mybatis实体类包
mybatis.typeAliasesPackage=com.ggzn.entity
# mybatis mapper 文件的位置
mybatis.mapperLocations=classpath:mapper/*.xml
# ureport Mysql 存储
ureport.mysql.provider.prefix=report-
ureport.mysql.provider.disabled=false
3.增加Ureport配置文件
https://gitee.com/lfw1024/myreport/blob/master/src/main/resources/ureport.properties
# 将ureport.disableFileProvider改成true,即可禁用默认提供的文件存储机制
ureport.disableHttpSessionReportCache=false
ureport.disableFileProvider=false
ureport.fileStoreDir=/WEB-INF/ureportfiles
ureport.debug=true
数据库结构
https://gitee.com/lfw1024/myreport/blob/master/src/main/resources/sql/ureport.sql
CREATE TABLE `ureport_file_tbl` (
`id_` int(11) NOT NULL AUTO_INCREMENT,
`name_` varchar(100) NOT NULL,
`content_` mediumblob,
`create_time_` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time_` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id_`)
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8;
4.创建报表存储器实体UreportFileEntity
https://gitee.com/lfw1024/myreport/blob/master/src/main/java/com/ggzn/entity/UreportFileEntity.java
@Data
public class UreportFileEntity {
private Long id;
private String name;
private byte[] content;
private Date createTime;
private Date updateTime;
}