如何使用我的Spring配置dataSource创建JRDataSource?

时间:2018-02-25 15:16:29

标签: spring spring-mvc jasper-reports

我想打印一份Jasper报告,因此代码中提供了JRDataSource个对象:

JasperPrint jasperPrint = JasperFillManager.fillReport(reportStream, parameters, JRDataSourceObject);

在我的Spring配置类中,已经配置了一个dataSource:

@Configuration
@ComponentScan("com.ambre.pta")
@EnableTransactionManagement
@PropertySources({
    @PropertySource("classpath:fr/admin.properties"),
    @PropertySource("classpath:fr/exercice.properties")
})
public class ApplicationContextConfig {

    @Autowired
    private Environment env;

    /**
     * méthode permettant d'accéder les fichiers de ressources tels que les langues
     * @return un gestionnaire de fichiers de ressources
     */
    @Bean
    public static PropertySourcesPlaceholderConfigurer properties() {
        return new PropertySourcesPlaceholderConfigurer();
    }

    /**
     * méthode permettant de préciser l'emplacement et l'extension des vues jsp
     * @return un gestionnaire de vue
     */
    @Bean(name = "viewResolver")
    public InternalResourceViewResolver getViewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/WEB-INF/views/");
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }

    /**
     * méthode permettant de spécifier la connexion à la base de données
     * @return un gestionnaire de connexion à  la base de données
     */
    @Bean(name = "dataSource")
    public DataSource getDataSource() {

        BasicDataSource dataSource = new BasicDataSource();

        dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
        dataSource.setUrl("jdbc:oracle:thin:@192.168.2.129:1521:xe");
        dataSource.setUsername("sse");
        dataSource.setPassword("sse");

        return dataSource;

    }

    ...
}

那么如何从Spring dataSource创建JRDataSource

1 个答案:

答案 0 :(得分:0)

据我所知,<ul class="nav-menu"> <li class="localLi menu-item menu-item-type-post_type menu-item-object-page menu-item-130"><a href="http://walter/dev/get/">walter</a> </li> <li class="localLi menu-item menu-item-type-post_type menu-item-object-page menu-item-130"><a href="http://xxxxxx/dev/get/">xxx</a> </li> <li class="localLi menu-item menu-item-type-post_type menu-item-object-page menu-item-130"><a href="http://notmedude/dev/get/">notme</a> </li> </ul>主要用于使用数据源对象填充报表。数据被加载到数据源对象中。

参考here

  

引擎希望接收JRDataSource对象作为数据   它必须填充的报告的源,或java.sql.Connection   何时在关系数据库中找到报告数据。

     

作为一个   结构化对象,数据源对象更像是一个表   包含表格单元格中数据的列和行。

JRDataSource接口有不同的实现。可以看到示例here。你必须选择一个适合你需要的。我们使用JRDataSource,其中报告中的字段映射到Java Bean对象