• Springboot集成UReport2


    1.pom.xml引入依赖

    <dependency>
              <groupId>com.bstek.ureport</groupId>
               <artifactId>ureport2-console</artifactId>
               <version>2.2.9</version>
    </dependency>

    2.编写config配置类

    @Configuration
    @ImportResource("classpath:context.xml")
    @Slf4j
    public class UReportConfig implements BuildinDatasource {
    
        @Resource
        private DataSource dataSource;
    
        //注册servlet组件
        @Bean
        public ServletRegistrationBean registrationBean() {
          return new ServletRegistrationBean(new UReportServlet(), "/ureport/*");
    
        }
    
        @Override
        public String name() {
            return "myDataSource";
        }
    
        @Override
        public Connection getConnection() {
            try {
                return dataSource.getConnection();
            } catch (SQLException e) {
                log.error("uReport 数据源 获取连接失败!-{}", e.getMessage());
            }
            return null;
        }
    }

    3.resources下添加相关配置文件

    1) context.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <import resource="classpath:ureport-console-context.xml"/>
    
        <bean id="propertyConfigurer" parent="ureport.props">
            <property name="location">
                <value>file:${config.path}/ureport-config.properties</value>
            </property>
        </bean>
    
    </beans>

    2) ureport-config.properties

    #ureport报表xml文件存放目录
    ureport.fileStoreDir=F:\work\yyglpt\service-test\src\main\resources\report

    3) application.properties中添加指定${config.path}

    config.path=F:\work\yyglpt\service-test\src\main\resources

    4.编写相应Service: 

    1) 给Service起一个标识名

    2) 方法的3个参数是固定写法,不能更改

    @Service("roadService")
    public class RoadService {
      /**
         * 路产管理月报
         * @param dsName
         * @param datasetName
         * @param parameters
         * @return
         */
        public List<RoadManageReport> queryRoadManageReport(String dsName, String datasetName, Map<String, Object> parameters) {
            String month = (String) parameters.get("month");
            List<RoadManageReport> list = initRoadManageReports();
            for (RoadManageReport report : list) {
                report.setMonthSum(getMonthSum());
                report.setYearSum(getYearSum(month));
            }
    
            return list;
        }  
    }

    5.查看报表引擎

    浏览器输入:  项目ip:端口/ureport/designer  即可访问UReport报表引擎

     

    6.数据源配置

    1) 数据源配置

     2) 数据集配置

     3) 刷新数据集

     7.编辑报表

     8.预览报表/访问真实路径报表

    预览: http://127.0.0.1:8085/ureport/preview?_u=p&month=2月

    访问真实路径(roadManageReport.ureport.xml是该报表保存的文件名): http://127.0.0.1:8085/ureport/preview?_u=file:roadManageReport.ureport.xml&month=2月

  • 相关阅读:
    js bubbleSort
    关于“ ,”的迷
    移位
    emacs 一些很有用的快捷键
    input&output
    async&await
    用dbforge调试procedure
    开发中常用的工具
    用Firefox的debugger来调试JavaScript
    Hibernate映射关系配置
  • 原文地址:https://www.cnblogs.com/Baker-Street/p/14744724.html
Copyright © 2020-2023  润新知