+ * Called after execution of step's processing logic (both successful or
+ * failed). Throwing exception in this method has no effect, it will only be
+ * logged.
+ *
+ * @param stepExecution {@link StepExecution} instance.
+ * @return an {@link ExitStatus} to combine with the normal value. Return
+ * {@code null} to leave the old value unchanged.
+ */
+ @Override
+ public ExitStatus afterStep(StepExecution stepExecution) {
+ System.out.println(stepExecution.getStepName() + " 共计导入:" + stepExecution.getWriteCount() + "行数据");
+ return stepExecution.getExitStatus();
+ }
+
+ /**
+ * Callback before a job executes.
+ *
+ * @param jobExecution the current {@link JobExecution}
+ */
+ @Override
+ public void beforeJob(JobExecution jobExecution) {
+ }
+
+ /**
+ * Callback after completion of a job. Called after both both successful and
+ * failed executions. To perform logic on a particular status, use
+ * "if (jobExecution.getStatus() == BatchStatus.X)".
+ *
+ * @param jobExecution the current {@link JobExecution}
+ */
+ @Override
+ public void afterJob(JobExecution jobExecution) {
+ }
+}
diff --git a/mybatis-flex-test/mybatis-flex-spring-boot-test/src/main/java/com/mybatisflex/test/config/OpenApiConfig.java b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/main/java/com/mybatisflex/test/config/OpenApiConfig.java
new file mode 100755
index 00000000..2ff1c6d5
--- /dev/null
+++ b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/main/java/com/mybatisflex/test/config/OpenApiConfig.java
@@ -0,0 +1,37 @@
+package com.mybatisflex.test.config;
+
+import io.swagger.v3.oas.models.OpenAPI;
+import io.swagger.v3.oas.models.info.Info;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * swagger配置
+ *
+ * @author sam
+ */
+@Configuration
+public class OpenApiConfig {
+
+ /**
+ * 本系统端口
+ */
+ @Value("${spring-boot.version:2.7.11}")
+ private String version;
+
+ /**
+ * swagger2 http://localhost:8080/swagger-ui.html
+ * swagger3 http://localhost:8080/swagger-ui/index.html
+ *
+ * @return
+ */
+ @Bean
+ public OpenAPI myOpenAPI() {
+ return new OpenAPI()
+ .info(new Info()
+ .title("mybatis-flex测试")
+ .description("mybatis-flex")
+ .version(version));
+ }
+}
diff --git a/mybatis-flex-test/mybatis-flex-spring-boot-test/src/main/java/com/mybatisflex/test/controller/BatchController.java b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/main/java/com/mybatisflex/test/controller/BatchController.java
new file mode 100644
index 00000000..6a7df833
--- /dev/null
+++ b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/main/java/com/mybatisflex/test/controller/BatchController.java
@@ -0,0 +1,77 @@
+package com.mybatisflex.test.controller;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.batch.core.Job;
+import org.springframework.batch.core.JobExecution;
+import org.springframework.batch.core.JobParameters;
+import org.springframework.batch.core.JobParametersBuilder;
+import org.springframework.batch.core.launch.JobLauncher;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 测试SpringBatch功能的controller
+ */
+@RestController
+@CrossOrigin
+@RequestMapping("job")
+@Tag(name = "SpringBatch测试", description = "SpringBatch测试")
+public class BatchController {
+
+ /**
+ * job执行器
+ */
+ @Autowired
+ @Lazy
+ private JobLauncher jobLauncher;
+
+ /**
+ * springbatch job
+ */
+ @Autowired
+ @Lazy
+ @Qualifier("testImportJob")
+ private Job testImportJob;
+
+ /**
+ * springbatch job 测试
+ *
+ * @return
+ */
+ @GetMapping("testImportJob")
+ public Map