我正在用这个方法运行一个查询
class QueryExecutor {
private List<T> executeOn(String tableName) {
ResultSetExtractor<List<Pojo>> resultSetExtractor =
JdbcTemplateMapperFactory
.newInstance()
.addKeys("id")
.newResultSetExtractor(Pojo.class);
return emptyIfNull(jdbcTemplate.query("select * from " + tableName, resultSetExtractor));
}
}
在我的控制器中,我只注入了queryexecutor,一切正常。
当我跑的时候:
CompletableFuture.runAsync(() -> queryExecutor.executeOn("my_table"));
我有个例外:
org.springframework.dao.dataaccessresourcefailureexception:语句回调;sql[从我的表中选择*];此连接已关闭。;嵌套异常为org.postgresql.util.psqlexception:此连接已关闭。
我的配置是:
@Primary
@Bean(name = "dataSource")
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public HikariDataSource dataSource() {
return dataSourceProperties().initializeDataSourceBuilder()
.type(HikariDataSource.class).build();
}
@Bean(name = "jdbcTemplate")
public JdbcTemplate jdbcTemplate(@Qualifier("dataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
你知道吗?
暂无答案!
目前还没有任何答案,快来回答吧!