spring batch 读取多个文件数据导入数据库示例

项目的目录结构

spring batch 读取多个文件数据导入数据库示例_第1张图片

需要读取文件的的数据格式

spring batch 读取多个文件数据导入数据库示例_第2张图片

applicatonContext.xml的配置



  
  
  
    
  
  
    
    
  
     
   
     
   
   
   
   
   
  
    
      classpath:com/aliyun/springbatch/sample/db/jdbc.properties
    
  
   
  
    
    
    
    
  


batch.xml的配置




  
  
  
  
  
    
      
        
        
      
    
  

  
  
  

    

    
  
    
  
  
  
  
  
  
  
   
    
    
      
      
        
      
    
    
    
      
        
      
    
   
  
 
 
 
  
  
  
  




jdbc.properties  mysql数据源配置文件

#Oracle
#hibernate.dialect=org.hibernate.dialect.OracleDialect
#validationQuery.sqlserver=SELECT 1 FROM DUAL
#jdbc.driver=oracle.jdbc.driver.OracleDriver
#jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl
#jdbc.username=activitproject
#jdbc.password=activitproject
#Mysql
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/spring_batch_demo
jdbc.username=root
jdbc.password=root

封装数据的实体类就自己写吧 

测试主方法:

 public static void main(String[] args) {
    ApplicationContext context = new ClassPathXmlApplicationContext(
        "com/aliyun/springbatch/sample/db/batch.xml");
    JobLauncher launcher = (JobLauncher) context.getBean("jobLauncher");
    Job job = (Job) context.getBean("dbJob");

    try {
      
      // JOB执行,设置参数添加读取文件的路径
      JobExecution result = launcher.run(
          job,
          //添加job参数时,将读取的文件目录加入到job的参数中
          new JobParametersBuilder()
              .addString("inputFile",
                  "src/main/java/com/aliyun/springbatch/sample/db/inputFile*.csv")
              .toJobParameters());
      // 运行结果输出
      System.out.println(result.toString());
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(spring batch 读取多个文件数据导入数据库示例)