Spring Batch 框架学习(三):数据源切换并查看执行内容

本文介绍了如何将Spring Batch中的H2数据库切换为MySQL,详细讲解了添加MySQL依赖、配置数据库连接信息以及解决建表和序列冲突问题的过程,确保批处理调用信息能正确记录在MySQL数据库中。
摘要由CSDN通过智能技术生成

前面我们说到SpringBatch的启动依赖于数据库,为了看到我们批处理的调用情况,我们现在把H2数据库换成mysql数据库,因为我本地只安装了mysql数据库所以我这边是换成了mysql数据库,大家可以根据自己安装的数据库进行更换

我们需要先在pom中引入mysql和jdbc的依赖包
修改pom文件
设置mysql数据库连接配置信息,在properties配置文件中配置

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springbatch
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.schema=classpath:/org/springframework/batch/core/schema-mysql.sql #指定脚本位置
spring.datasource.initialize-schema=always #如果已经存在表就不创建了

这样的话在项目启动的时候就会自动在batch目录下找到mysql的建表语句执行建表操作

但是有的时候mysql版本,还有一些自己环境的问题会导致建表失败,这个时候就需要我们使用下面的语句创建表了

CREATE TABLE `batch_job_instance` (
  `JOB_INSTANCE_ID` bigint(20) NOT NULL COMMENT '主键。作业实例ID编号,根据BATCH_JOB_SEQ自动生成',
  `VERSION` bigint(20) DEFAULT NULL COMMENT '版本号',
  `JOB_NAME` varchar(100) NOT NULL COMMENT '作业名称。即在配置文件中定义的 job id 字段的内容',
  `JOB_KEY` varchar(32) NOT NULL COMMENT '作业标识。根据作业参数序列化生成的标识。需要注意通过 JOB_NAME +JOB_KEY  能够唯一区分一个作业实例。如果是同一个Job,则JOB KEY一定不能相通,即作业参数不能相同。如果不是同一个JOB则KEY可以相同,也就说可以是同一个作业参数',
  PRIMARY KEY (`JOB_INSTANCE_ID`),
  UNIQUE KEY `JOB_INST_UN` (`JOB_NAME`,`JOB_KEY`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='作业实例表。用于存放Job的实例信息';


CREATE TABLE `batch_job_execution` (
  `JOB_EXECUTION_ID` bigint(20) NOT NULL COMMENT '主键。作业执行器ID编号',
  `VERSION` bigint(20) DEFAULT NULL COMMENT '版本号',
  `JOB_INSTANCE_ID` bigint(20) NOT NULL COMMENT '作业实例ID编号',
  `CREATE_TIME` datetime NOT NULL COMMENT '作业执行器创建时间',
  `START_TIME` datetime DEFAULT NULL COMMENT '作业执行器开始执行时间',
  `END_TIME` datetime DEFAULT NULL COMMENT '作业执行器结束时间',
  `STATUS` varchar(10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值