我想从Spring上下文中获取当前连接,然后传递给我的JasperPrint对象。
这样的事情:
//java.sql.Connection con = StringContext.getConnection();
JasperPrint jp = JasperFillManager.fillReport("reports/my_report.jasper", parameters, con);
我该如何使其有效?
ps:我尝试过使用DataSourceUtils,但是getConnection()方法需要一个DataSource对象作为参数,我在哪里可以得到这个对象?
答案 0 :(得分:0)
你可能需要这样的东西:
@Component
class JRExporter{
@Autowired
protected DataSource localDataSource;
public void export(){
java.sql.Connection con = localDataSource.getConnection()
JasperPrint jp = JasperFillManager.fillReport("reports/my_report.jasper", parameters, con);
}
答案 1 :(得分:0)
最好的方法是使用DataSourceUtils.getConnection()
@Autowired
private ApplicationContext applicationContext;
...
JasperPrint jp = JasperFillManager.fillReport("my_report.jasper", params,
DataSourceUtils.getConnection((DataSource)applicationContext.getBean("dataSource")));