You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成Spring Batch时元数据表未自动生成的问题求助

Spring Boot集成Spring Batch时元数据表未自动生成的问题求助

大家好,我在Spring Boot项目中使用Spring Batch时碰到了个头疼的问题——我本来以为Spring Batch会自动生成那些必需的元数据表,但现在程序一跑就报错说表找不到,有没有大佬能帮我分析分析原因呀!

具体报错信息如下:
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "BATCH_JOB_INSTANCE" not found (this database is empty); SQL statement:
SELECT JOB_INSTANCE_ID, JOB_NAME from BATCH_JOB_INSTANCE where JOB_NAME = ? and JOB_KEY = ? [42104-214]

项目依赖版本

  • Spring Boot: 3.0.1
  • Spring Batch starter: 3.0.1
  • Spring Batch Core: 5.0.0

application.properties配置(当前使用H2内存数据库)

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true

BatchConfig配置类代码

@Configuration
@EnableBatchProcessing
public class BatchConfig {

    @Bean
    public Job uploadSupplierJob(JobRepository jobRepository, Step step1) {
        return new JobBuilder("uploadSupplierJob", jobRepository)
                .start(step1)
                .build();
    }

    @Bean
    public Step step1(JobRepository jobRepository, PlatformTransactionManager transactionManager, FlatFileItemReader<SupplierCsv> supplierItemReader, ItemWriter supplierItemWriter) {
        return new StepBuilder("step1", jobRepository)
                .chunk(10, transactionManager)
                .reader(supplierItemReader)
                .writer(supplierItemWriter)
                .build();
    }

    @Bean
    @StepScope
    public FlatFileItemReader<SupplierCsv> supplierItemReader(@Value("#{jobParameters['file']}") MultipartFile file) throws IOException {
        return new FlatFileItemReaderBuilder<SupplierCsv>().name("supplierItemReader")
                .resource(new InputStreamResource(file.getInputStream()))
                .delimited()
                .names("name", "contactName", "terms","notes","leadDays","address","phoneNumber")
                .fieldSetMapper(new BeanWrapperFieldSetMapper<SupplierCsv>() {{
                    setTargetType(SupplierCsv.class);
                }})
                .build();
    }
}

备注:内容来源于stack exchange,提问作者fragilepriCe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 14:42:45