ureport2 數據源配置


 ureport2 數據源配置方式

 ureport2 的數據源配置方式

 

一、三種數據源配置

 

 

  1. 直接連接數據庫(數據源配置)
  2. Spring上下文中定義好的一個Bean來作為數據源 (SpringBean數據源配置)
  3. 定義好的內置數據源(內置數據源選擇)

 

二、直接連接數據庫(數據源配置)

注意:(在頁面用數據源配置鏈接數據庫注意,不要刷新瀏覽器,刷新之后鏈接會清空)

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 {

    /**

     * 方法必須包含三個參數: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;

 

}

 

 

四、定義好的內置數據源(內置數據源選擇)

 

 

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

    }

 

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM