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;

    }

 

}

相關文章
相關標籤/搜索