ureport2使用bean数据源设计数据

三种数据源配置

在这里插入图片描述

一、直接连接数据库(数据源配置)

注意:(在页面用数据源配置链接数据库注意,不要刷新浏览器,刷新之后链接会清空)
pom.xml,文件配置数据库链接(JDBC驱动包,数据库连接池的jar包)
在这里插入图片描述

测试成功,点击保存
数据源卡项会多一个新增加的demo
在这里插入图片描述

点击demo右键 添加数据集
在这里插入图片描述

编辑SQL语句,预览结果,点击确定
在这里插入图片描述

好了,数据源配置就是这样了

二、Spring上下文中定义好的一个Bean来作为数据源 (SpringBean数据源配置)

注意:(在页面用SpringBean数据源配置链接数据库注意,不要刷新浏览器,刷新之后链接会清空)
在这里插入图片描述
在这里插入图片描述

 
 package com.bstek.ureport.test.demo; 
 import org.apache.commons.lang.RandomStringUtils;
 import org.apache.commons.lang3.RandomUtils;
 import org.springframework.stereotype.Component; 
 import java.util.ArrayList;import java.util.HashMap;
 import java.util.List;import java.util.Map; 
   /** 
   * 声明一个类,相当于一个配置文件 bean → 注解@Component 
   * 把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/> 
  */
  @Component
  public class TestBean {   
   /**     
    * 方法必须包含三个参数:String,String,Map  
    * @return 集合类型 ,包含字段:id,name,salary     
    */    
    public List<Map<String, Object>> loadReportData(String dsName, String datasetName, Map<String, Object> parameters) {        
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();        
            for (int i = 0; i < 1000; i++) {            
            // 模拟数据            
            Map<String, Object> m = new HashMap<String, Object>();           
                 m.put("id", i);            
                 m.put("name", RandomStringUtils.random(10, true, false)); 
                 m.put("salary", RandomUtils.nextInt() + i);            
                 list.add(m);        
             }        
         return list;    
     }     
     /**     
     * @return 对象类型 ,类型:com.bstek.ureport.test.demo.User     
     */    
     public List<User> buildReport(String dsName, String datasetName, Map<String, Object> parameters) {        
         List<User> list = new ArrayList<User>();        
         for (int i = 0; i < 1000; i++) {            
             User m = new User();            
             m.setId(i);            
             m.setName(RandomStringUtils.random(10, true, false));            
             m.setSalary(RandomUtils.nextInt() + i);            
             list.add(m);        
         }       
          return list;   
     }
}
 package com.bstek.ureport.test.demo; 
 import lombok.Data; 
 @Data
 public class User {    
     private int id;    
     private String name;    
     private int salary; 
 }

三、定义好的内置数据源(内置数据源选择)

在这里插入图片描述

@Component
public class TestBuildinDatasource implements BuildinDatasource {
     @Autowired    private DataSource dataSource;   
 	 /**    
     * @return 返回数据源名称    
     */   
     @Override    
     public String name() {
             return "内置数据源DEMO";    
    }
    /**
     * @return 返回当前采用数据源的一个连接     
     */    
     @Override    
     public Connection getConnection() {        
         try {            
         return dataSource.getConnection();        
         } catch (SQLException e) {            
         throw new RuntimeException(e);        
         }    
     }     
     public void setDataSource(DataSource dataSource) {        
         this.dataSource = dataSource;    
     } 
}

留下小爱心再走吧!!!

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在SpringBoot中配置ureport内置数据源,可以按照以下步骤进行: 1. 在pom.xml文件中添加ureport的依赖: ``` <dependency> <groupId>com.bstek.ureport</groupId> <artifactId>ureport2-core</artifactId> <version>2.8.6</version> </dependency> ``` 2. 在application.properties文件中添加ureport的配置: ``` ureport.enabled=true ureport.fileStoreDir=file:${user.home}/ureport/ ureport.reportHome=file:${user.home}/ureport/ ureport.ds.provider=com.bstek.ureport.provider.report.DataSourceProvider ureport.ds.provider.class=com.bstek.ureport.provider.report.FileJsonDataSourceProvider ``` 3. 在resources目录下创建ureport文件夹,并在该文件夹下创建dataSources.json文件,配置数据源信息: ``` { "datasources": [ { "name": "test", "type": "jdbc", "driverClassName": "com.mysql.jdbc.Driver", "url": "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false", "username": "root", "password": "123456" } ] } ``` 其中,name为数据源名称,type为数据源类型,driverClassName为驱动类名,url为数据库连接地址,username为数据库用户名,password为数据库密码。 4. 在代码中使用数据源: ``` @Autowired private ReportManager reportManager; public void test() { Map<String, Object> parameters = new HashMap<>(); parameters.put("test", "test"); ReportFile reportFile = reportManager.loadReportFile("classpath:reports/test.ureport.xml"); Report report = reportFile.parse(); HtmlReport htmlReport = new HtmlReport(report, parameters); String content = htmlReport.getContent(); System.out.println(content); } ``` 其中,classpath:reports/test.ureport.xml为报表文件路径,test为数据源名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值