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

        }

    }

  • 相关阅读:
    面试(串讲三)
    未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“Microsoft.VisualStudio.Data.Providers.SqlServer.SqlViewSupport.xml”正确嵌入或链接到程序集“Microsoft.VisualStudio.Data.Providers.SqlServer”,或者确保所有需要的附属程序集都可加载并已进行了完全签名。
    爬虫-js逆向记录1
    Spring Boot前后端分离直接访问静态页+ajax实现动态网页
    MODBUS-TCP通讯协议V1.03
    vs2019调试时,取消线程abort终止导致异常中断方法
    TCP/IP报文分析
    专业免费的图片、照片去灰底、修复软件,专业人员都在用它
    c指针的传递
    golang实现三重DES加密解密
  • 原文地址:https://www.cnblogs.com/Seven-cjy/p/9542740.html
Copyright © 2020-2023  润新知