ureport2 数据源配置

 ureport2 数据源配置方式 java

 ureport2 的数据源配置方式 spring

 

1、三种数据源配置

 

 

  1. 直接链接数据库(数据源配置)
  2. Spring上下文中定义好的一个Bean来做为数据源 (SpringBean数据源配置)
  3. 定义好的内置数据源(内置数据源选择)

 

2、直接链接数据库(数据源配置)

注意:(在页面用数据源配置连接数据库注意,不要刷新浏览器,刷新以后连接会清空)数据库

pom.xml,文件配置数据库连接(JDBC驱动包,数据库链接池的jar包)apache

 

测试成功,点击保存浏览器

数据源卡项会多一个新增长的demodom

 

 

点击demo右键 添加数据集ide

 

 

编辑SQL语句,预览结果,点击肯定测试

 

 

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

 

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

注意:(在页面用SpringBean数据源配置连接数据库注意,不要刷新浏览器,刷新以后连接会清空)this

 

 

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 {

    /**

     * 方法必须包含三个参数:StringStringMap

     *

     * @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;

 

}

 

 

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

 

 

@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;

    }

 

}

相关文章
相关标签/搜索