我想打印一份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
?
答案 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对象