小节目标
在上节中,初步认识和了解了UReport的使用,并且可以看到报表是xml文件形式存储在了磁盘中。本节我们将进一步优化项目,将报表存储到数据库中。
详细步骤
1.场景说明:既然要将报表存储到数据库中,那么搭建的SpringBoot应用需要和数据库打交道。设定要处理的应用场景包括:a.有个单据的业务数据库(report)作为Web应用的主数据库,用来存储相关业务数据(这里的业务其实就是报表的存储和更新等)。b.还有个数据库(datahouse)作为Web应用的从数据库,即上节中存储销售案例数据的数据库(提供案例分析数据;后续SpringBean数据源的开发也从这个库取数)。鉴于此,我们可以进一步改造Web应用,引入持久层以及配置多数据源(当然实际开发中视自身实际业务定,不必非要采用多数据源)。此处数据库用的MySQL,持久层用的MyBatis,数据库连接池用的Druid,使用dynamic实现多数据源。
2.库表准备:新建数据库report,创建用于报表实体存储的表report_store(需要存储报表名称和报表内容等)。
CREATETABLE`report_store`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`name`varchar()CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL,`content`mediumblobNULL,`create_time`timestamp(0)NOTNULLDEFAULTCURRENT_TIMESTAMP(0)ONUPDATECURRENT_TIMESTAMP(0),`update_time`timestamp(0)NULLDEFAULTNULL,PRIMARYKEY(`id`)USINGBTREE)
3.在pom.xml中添加相关依赖,包括:dynamic-datasource-spring-boot-starter(多数据源dynamic)、mybatis-spring-boot-starter(持久层MyBatis)、druid-spring-boot-starter(数据库连接池druid)。
!--dynamic--dependencygroupId