0.配置报表数据源介绍
打开UReport2的报表设计器,可以看到UReport2提供了3种类型的报表数据源配置方式,如下图所示:
3种类型的数据源分别是:
1)直接连接数据库
2)Spring Bean
3)通过实现com.bstek.ureport.definition.datasource.BuildinDatasource接口提供的内置数据源(推荐方式)
1)直接连接数据库方式
直接连接数据库比较简单,就是在项目的classpath中添加好相应数据库的驱动Jar包后,在弹出的窗口中配置数据源连接信息即可,如下图所示:
该种方式的缺点是总结:
还需要单独配置数据连接,即使项目中已经配置了数据库连接,比较麻烦
默认不仅查询当前连接的数据库下的表,还会把其他数据库下的表也会查出,所以造成页面比较卡,甚至页面崩溃,如下:
2)Spring Bean方式
Spring Bean类型的数据源可以选择Spring上下文中定义好的一个Bean来作为数据源
第1步:创建被spring管理的Bean来作为数据源
在弹出的窗口中输入数据源名称及要采用的Bean的ID
第2步:配置数据集
添加的数据集对应数据源所管理bean的方法,方法名可以随便定义,但是方法请求参数和返回值有明确要求
方法类中要求:
没有要求,可以时普通的实例方法,也可以是静态方法
方法请求参数的要求是:
方法必须要有三个参数,依次是String(数据源名称),String(数据集名称),Map(外部传入的参数Map)
方法的返回值,目前来说可以支持两种类型:
第1种:返回值为List<Map<String,Object>>,list中每一个map代表一条数据
第2种:返回一个POJO类型的List集合,如:List<User>,list中每一个User代表一条数据
测试1:返回值为List<Map<String,Object>>时:
同上依次创建各个字段依次指定map中的各个key,注意不区分大小写
使用示例