Springboot 集成ureport2报表插件

​最近在项目中需要用到报表功能,要求能灵活配置,而不是每次要生成报表都要写代码。调研了网上各种报表插件,发现各有千秋,但是最适合java项目的还是UReport2这个报表框架,我们项目后台框架是基于SpringBoot、SpringCloud框架搭建的微服务架构,下面介绍一下如何在Springboot架构中引入ureport2。

一.基础配置

1、我的spring boot版本是2.1.12, ureport2版本是2.2.9,mySQL链接版本是5.1.46,maven依赖如下:


   com.bstek.ureport
   ureport2-console
   2.2.9


   mysql
   mysql-connector-java
   5.1.46

注:mySQL版本不能过高也不能太低,因spring boot版本不同,所以会在配置报表数据源的时候出现很多问题。

2、配置 UReport2 需要使用到的servlet,建UreportConfig配置类。

@Configuration
@ImportResource("classpath:ureport-console-context.xml")
public class UreportConfig {

    /**
     * 进行注册Servlet
     * 配置 UReport2 需要使用到的servlet
     * @return
     */
    @Bean
    public ServletRegistrationBean buildUReportServlet() {
      /*
       * @param  servlet
       * @param  urlMappings 值为“/ureport/*”的 urlMappings 是一定不能变的,否则系统将无法运行。
       */
        return new ServletRegistrationBean(new UReportServlet(), "/ureport/*");

    }
}

3、启动spring boot项目,ureport地址为ureport/designer

在本地浏览器输入http://localhost:8080/ureport/designer,打开后如下图所示。

Springboot 集成ureport2报表插件_第1张图片

4、修改保存报表默认路径。

在resource目录下新建ureport.properties文件,在文件中加入ureport.fileStoreDir=(实际路径,此路径要必须存在,否则会报错),修改完成后重启后保存的报表都会存在此路径下。

二、内置数据源配置

1、内置数据源需要实现ureport的内置接口BuildinDatasource。

@Component
public class UreportBuildDatasource implements BuildinDatasource {

    private static final String NAME = "MyDataSource";

    @Autowired
    private DataSource dataSource;

    @Override
    public String name() {
        return NAME;
    }

    @Override
    public Connection getConnection() {
        try {
            return dataSource.getConnection();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

2、实现BuildinDatasource接口后,必须要确定自己的数据源已经配置完成。在application.yml文件中加入数据源配置。

#数据库连接
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test_ureport?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver

配置完成后重启项目,打开报表,点击添加内置数据源链接,便可看见我们刚配置的默认数据源MyDataSource ,接下来就可以开始配置报表了。

你可能感兴趣的:(spring)