1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-ureport

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
STORAGE-DATASOURCE.md 8.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 05:56 0de627c

Текст запроса:

IOUtils.write(content, outStream,"utf-8");
        }catch(Exception ex){
            throw new ReportException(ex);
        }finally{
            if(outStream!=null){
                try {
                    outStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }

    @Override
    public boolean disabled() {
        return disabled;
    }

    public void setDisabled(boolean disabled) {
        this.disabled = disabled;
    }

    public void setFileStoreDir(String fileStoreDir) {
        this.fileStoreDir = fileStoreDir;
    }

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        File file=new File(fileStoreDir);
        if(file.exists()){
            return;
        }
        if(applicationContext instanceof WebApplicationContext){
            WebApplicationContext context=(WebApplicationContext)applicationContext;
            ServletContext servletContext=context.getServletContext();
            String basePath=servletContext.getRealPath("/");
            fileStoreDir=basePath+fileStoreDir;
            file=new File(fileStoreDir);
            if(!file.exists()){
                file.mkdirs();
            }
        }
    }

    @Override
    public String getPrefix() {
        return prefix;
    }
}

Перевод:

Отключите стандартное хранилище отчётов, предоставляемое системой. Если мы настраиваем хранилище отчётов и не хотим использовать стандартное хранилище отчётов «файловой системы сервера», предоставляемое системой, нам нужно только добавить атрибут с именем ureport.disableFileProvider в упомянутый выше файл config.properties и установить его значение как true.

В свете приведённого выше введения мы можем легко разработать другие типы хранилищ отчётов, реализовав интерфейс ReportProvider, например, разработать новое хранилище отчётов для сохранения отчётов в базе данных, FTP и т. д.

Конфигурация источника данных

Откройте конструктор отчётов в UReport2. Мы видим три типа источников данных отчётов, предоставляемых UReport2, как показано на рисунке ниже:

Три типа источников данных соответственно напрямую связаны с базой данных, Spring Bean и встроенным источником данных, который предоставляется через интерфейс com.bstek.ureport.definition.datasource.BuildinDatasource.

Подключиться к базе данных очень просто. Добавьте пакет Jar, управляемый соответствующей базой данных, в путь к классам проекта и настройте информацию о подключении к источнику данных во всплывающем окне, как показано на следующем рисунке:

Источник данных типа Spring Bean может выбрать Bean, определённый в контексте Spring, щёлкнуть значок и ввести имя источника данных и идентификатор Bean, которые будут применяться во всплывающем окне, как показано на следующем рисунке:

После сохранения можно добавить конкретный набор данных под источником данных. Щёлкните правой кнопкой мыши под источником данных, выберите «добавить набор данных» во всплывающем меню и определите имя набора данных, соответствующий метод и тип возвращаемого объекта, как показано на следующем рисунке:

В конфигурации набора данных Spring bean мы можем нажать «выбрать метод» справа, чтобы выбрать метод для типа, соответствующего текущему Bean. Требования к методу следующие: метод должен состоять из трёх параметров, включая соответственно String, String, Map. Например, testBean, определённый выше, состоит из двух допустимых методов, как показано ниже:

package com.ureport.test;

import java.util.List;
import java.util.Map;


public class TestBean {
    public List<Map<String,Object>> loadReportData(String dsName,String datasetName,Map<String,Object> parameters){
        return null;
    }
    public List<User> buildReport(String dsName,String datasetName,Map<String,Object> parameters){
        return null;
    }
}

Метод допустимого набора данных Bean должен состоять... Из трёх параметров, включая String, String и Map, соответственно соответствующих имени источника данных, имени источника данных и внешнему параметру Map. Метод Bean может быть выбран только на основе этой структуры. В настоящее время здесь поддерживаются два типа возвращаемых значений метода набора данных: набор List типа Map<String, Object>, возвращаемый в TestBean, и набор List типа POJO, как показано в методе ниже:

public List<User> loadData(String dsName,String datasetName,Map<String,Object> parameters){ 
    return null;
}

В приведённом выше примере возвращается набор объектов User. Объект User здесь является обычным объектом POJO.

Встроенный источник данных

Этот тип источника данных требует реализации интерфейса BuildinDatasource и настройки класса реализации интерфейса BuildinDatasource для Spring. Исходный код интерфейса BuildinDatasource приведён ниже:

package com.bstek.ureport.definition.datasource;

import java.sql.Connection;

/**
 * @author Jacky.gao
 * @since 2017年2月9日
 */
public interface BuildinDatasource {
    /**
     * @return 返回数据源名称
     */
    String name();
    /**
     * @return 返回 текущее соединение с данными
     */
    Connection getConnection();
}

После настройки класса реализации интерфейса BuildinDatasource на Spring он может автоматически обнаруживаться UReport2. Затем в конструкторе отчётов нажмите кнопку «Добавить встроенное подключение» на вкладке источника данных и выберите определённый встроенный источник данных во всплывающем окне, как показано на рисунке ниже:

Три типа источников данных, предоставляемых UReport2, имеют разные характеристики и способы использования. Пользователи должны сделать гибкий выбор между ними на основе их характеристик.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-ureport.git
git@api.gitlife.ru:oschina-mirror/mirrors-ureport.git
oschina-mirror
mirrors-ureport
mirrors-ureport
master