zoukankan      html  css  js  c++  java
  • 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;

        }

    }

  • 相关阅读:
    minicom使用
    Oracle(+)号用法
    金蝶AAS对HTTP方法有限制
    Maven设置utf8编码格式
    ELK实时日志分析平台环境部署--完整记录(ElasticSearch+Logstash+Kibana )
    Redis中的持久化操作
    iOS 动画Animation
    iOS打造属于自己的用户行为统计系统
    WEB前端,混合排版,有的宽有的窄,滚动会出现空白处,怎么办。
    hadoop云盘client的设计与实现(一)
  • 原文地址:https://www.cnblogs.com/Seven-cjy/p/9542740.html
Copyright © 2011-2022 走看看