gpt4 book ai didi

spring-batch - Spring 批处理中的临时表

转载 作者:行者123 更新时间:2023-12-04 18:03:22 26 4
gpt4 key购买 nike

由于多个表连接,我的阅读器中的查询需要很长时间才能获取结果。我正在考虑拆分我的查询连接的选项,如果可能的话使用临时表。这是一个可行的解决方案吗? Spring Batch 是否支持在读取器、处理器和写入器之间使用临时表?

最佳答案

是的,这是可能的。您应该为您的读者、作家、处理器使用相同的数据源实例。

例子:

@Component

public class DataSourceDao{

DataSource dataSource;


public DataSource getDataSource() {
return dataSource;
}
@Autowired
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}

}

读者:

 public class MyReader implements ItemReader<POJO_CLASS> {
@Autowired
DataSourceDao dataSource;

@Override
JdbcCursorItemReader<POJO_CLASS> reader= new
JdbcCursorItemReader<>();

public <POJO_CLASS> read() throws Exception, UnexpectedInputException,
ParseException, NonTransientResourceException {

reader.setDataSource(dataSource.getDataSource());
// Implement your read logic

}

}

作者:

public class YourWriter implements ItemWriter<POJO_CLASS> {

JdbcBatchItemWriter<POJO_CLASS> writer= new JdbcBatchItemWriter<>();

@Autowired
DataSourceDao dataSource;

void write(List<? extends POJO_CLASS> POJO)
{
writer.setDataSource(dataSource.getDataSource());
<Your logics...>

}

关于spring-batch - Spring 批处理中的临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31370781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com