diff --git a/spring-batch-execution/pom.xml b/spring-batch-execution/pom.xml
index 911ba87f1..4a1d63b61 100644
--- a/spring-batch-execution/pom.xml
+++ b/spring-batch-execution/pom.xml
@@ -166,6 +166,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring-batch-execution/src/main/resources/schema-mysql.sql b/spring-batch-execution/src/main/resources/schema-mysql.sql
new file mode 100644
index 000000000..9d61b4fa4
--- /dev/null
+++ b/spring-batch-execution/src/main/resources/schema-mysql.sql
@@ -0,0 +1,62 @@
+-- Autogenerated: do not edit this file
+DROP TABLE BATCH_STEP_EXECUTION IF EXISTS;
+DROP TABLE BATCH_JOB_EXECUTION IF EXISTS;
+DROP TABLE BATCH_STEP IF EXISTS;
+DROP TABLE BATCH_JOB IF EXISTS;
+
+DROP TABLE BATCH_STEP_EXECUTION_SEQ IF EXISTS;
+DROP TABLE BATCH_STEP_SEQ IF EXISTS;
+DROP TABLE BATCH_JOB_EXECUTION_SEQ IF EXISTS;
+DROP TABLE BATCH_JOB_SEQ IF EXISTS;
+
+-- Autogenerated: do not edit this file
+CREATE TABLE BATCH_JOB (
+ ID BIGINT unsigned PRIMARY KEY ,
+ VERSION BIGINT,
+ JOB_NAME VARCHAR(100) NOT NULL ,
+ JOB_KEY VARCHAR(250) ,
+ SCHEDULE_DATE DATE ,
+ STATUS VARCHAR(10) );
+
+CREATE TABLE BATCH_JOB_EXECUTION (
+ ID BIGINT unsigned PRIMARY KEY ,
+ VERSION BIGINT,
+ JOB_ID BIGINT NOT NULL,
+ START_TIME TIMESTAMP NOT NULL ,
+ END_TIME TIMESTAMP ,
+ STATUS VARCHAR(10),
+ CONTINUABLE CHAR(1),
+ EXIT_CODE VARCHAR(20),
+ EXIT_MESSAGE VARCHAR(250));
+
+CREATE TABLE BATCH_STEP (
+ ID BIGINT unsigned PRIMARY KEY ,
+ VERSION BIGINT,
+ JOB_ID BIGINT NOT NULL,
+ STEP_NAME VARCHAR(100) NOT NULL,
+ STATUS VARCHAR(10),
+ RESTART_DATA VARCHAR(1000));
+
+CREATE TABLE BATCH_STEP_EXECUTION (
+ ID BIGINT unsigned PRIMARY KEY ,
+ VERSION BIGINT NOT NULL,
+ STEP_ID BIGINT NOT NULL,
+ JOB_EXECUTION_ID BIGINT NOT NULL,
+ START_TIME TIMESTAMP NOT NULL ,
+ END_TIME TIMESTAMP ,
+ STATUS VARCHAR(10),
+ COMMIT_COUNT BIGINT ,
+ TASK_COUNT BIGINT ,
+ TASK_STATISTICS VARCHAR(1000),
+ CONTINUABLE CHAR(1),
+ EXIT_CODE VARCHAR(20),
+ EXIT_MESSAGE VARCHAR(250));
+
+CREATE TABLE BATCH_STEP_EXECUTION_SEQ (ID BIGINT NOT NULL) type=MYISAM;
+INSERT INTO BATCH_STEP_EXECUTION_SEQ values(0);
+CREATE TABLE BATCH_STEP_SEQ (ID BIGINT NOT NULL) type=MYISAM;
+INSERT INTO BATCH_STEP_SEQ values(0);
+CREATE TABLE BATCH_JOB_EXECUTION_SEQ (ID BIGINT NOT NULL) type=MYISAM;
+INSERT INTO BATCH_JOB_EXECUTION_SEQ values(0);
+CREATE TABLE BATCH_JOB_SEQ (ID BIGINT NOT NULL) type=MYISAM;
+INSERT INTO BATCH_JOB_SEQ values(0);
diff --git a/spring-batch-execution/src/main/sql/mysql.properties b/spring-batch-execution/src/main/sql/mysql.properties
new file mode 100644
index 000000000..c193d2628
--- /dev/null
+++ b/spring-batch-execution/src/main/sql/mysql.properties
@@ -0,0 +1,8 @@
+platform=oracle10g
+# SQL language oddities
+BIGINT = BIGINT
+IDENTITY = unsigned
+GENERATED =
+IFEXISTS = IF EXISTS
+# for generating drop statements...
+SEQUENCE = TABLE
diff --git a/spring-batch-execution/src/main/sql/mysql.vpp b/spring-batch-execution/src/main/sql/mysql.vpp
new file mode 100644
index 000000000..5e4dd6446
--- /dev/null
+++ b/spring-batch-execution/src/main/sql/mysql.vpp
@@ -0,0 +1,3 @@
+#macro (sequence $name)CREATE TABLE ${name} (ID BIGINT NOT NULL) type=MYISAM;
+INSERT INTO ${name} values(0);
+#end
diff --git a/spring-batch-samples/pom.xml b/spring-batch-samples/pom.xml
index eaa63c6b8..1a671e627 100644
--- a/spring-batch-samples/pom.xml
+++ b/spring-batch-samples/pom.xml
@@ -273,6 +273,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring-batch-samples/src/main/resources/business-schema-mysql.sql b/spring-batch-samples/src/main/resources/business-schema-mysql.sql
new file mode 100644
index 000000000..0cb694b50
--- /dev/null
+++ b/spring-batch-samples/src/main/resources/business-schema-mysql.sql
@@ -0,0 +1,89 @@
+-- Autogenerated: do not edit this file
+DROP TABLE BATCH_STAGING_SEQ IF EXISTS;
+DROP TABLE TRADE_SEQ IF EXISTS;
+DROP TABLE CUSTOMER_SEQ IF EXISTS;
+DROP TABLE BATCH_STAGING IF EXISTS;
+DROP TABLE TRADE IF EXISTS;
+DROP TABLE CUSTOMER IF EXISTS;
+DROP TABLE PLAYERS IF EXISTS;
+DROP TABLE GAMES IF EXISTS;
+DROP TABLE PLAYER_SUMMARY IF EXISTS;
+
+-- Autogenerated: do not edit this file
+
+CREATE TABLE CUSTOMER_SEQ (ID BIGINT NOT NULL) type=MYISAM;
+INSERT INTO CUSTOMER_SEQ values(0);
+CREATE TABLE BATCH_STAGING_SEQ (ID BIGINT NOT NULL) type=MYISAM;
+INSERT INTO BATCH_STAGING_SEQ values(0);
+CREATE TABLE TRADE_SEQ (ID BIGINT NOT NULL) type=MYISAM;
+INSERT INTO TRADE_SEQ values(0);
+
+CREATE TABLE BATCH_STAGING (
+ ID BIGINT unsigned PRIMARY KEY ,
+ JOB_ID BIGINT NOT NULL,
+ VALUE ${BLOB} NOT NULL,
+ PROCESSED CHAR(1) NOT NULL
+);
+
+CREATE TABLE TRADE (
+ ID BIGINT unsigned PRIMARY KEY ,
+ VERSION BIGINT,
+ ISIN VARCHAR(45) NOT NULL,
+ QUANTITY BIGINT,
+ PRICE FLOAT,
+ CUSTOMER VARCHAR(45)
+);
+
+CREATE TABLE CUSTOMER (
+ ID BIGINT unsigned PRIMARY KEY ,
+ VERSION BIGINT,
+ NAME VARCHAR(45),
+ CREDIT FLOAT
+);
+
+INSERT INTO customer (id, version, name, credit) VALUES (1, 0, 'customer1', 100000);
+INSERT INTO customer (id, version, name, credit) VALUES (2, 0, 'customer2', 100000);
+INSERT INTO customer (id, version, name, credit) VALUES (3, 0, 'customer3', 100000);
+INSERT INTO customer (id, version, name, credit) VALUES (4, 0, 'customer4', 100000);
+
+CREATE TABLE PLAYERS (
+ PLAYER_ID char(8) NOT NULL PRIMARY KEY,
+ LAST_NAME varchar(35) not null,
+ FIRST_NAME varchar(25) not null,
+ POS varchar(10),
+ YEAR_OF_BIRTH BIGINT not null,
+ YEAR_DRAFTED BIGINT not null
+);
+
+CREATE TABLE GAMES (
+ PLAYER_ID char(8) not null,
+ YEAR_NO BIGINT not null,
+ TEAM char(3) not null,
+ WEEK BIGINT not null,
+ OPPONENT char(3),
+ COMPLETES BIGINT,
+ ATTEMPTS BIGINT,
+ PASSING_YARDS BIGINT,
+ PASSING_TD BIGINT,
+ INTERCEPTIONS BIGINT,
+ RUSHES BIGINT,
+ RUSH_YARDS BIGINT,
+ RECEPTIONS BIGINT,
+ RECEPTIONS_YARDS BIGINT,
+ TOTAL_TD BIGINT
+);
+
+CREATE TABLE PLAYER_SUMMARY (
+ ID CHAR(8) NOT NULL,
+ YEAR_NO BIGINT NOT NULL,
+ COMPLETES BIGINT NOT NULL ,
+ ATTEMPTS BIGINT NOT NULL ,
+ PASSING_YARDS BIGINT NOT NULL ,
+ PASSING_TD BIGINT NOT NULL ,
+ INTERCEPTIONS BIGINT NOT NULL ,
+ RUSHES BIGINT NOT NULL ,
+ RUSH_YARDS BIGINT NOT NULL ,
+ RECEPTIONS BIGINT NOT NULL ,
+ RECEPTIONS_YARDS BIGINT NOT NULL ,
+ TOTAL_TD BIGINT NOT NULL
+);
\ No newline at end of file
diff --git a/spring-batch-samples/src/main/sql/mysql.properties b/spring-batch-samples/src/main/sql/mysql.properties
new file mode 100644
index 000000000..c193d2628
--- /dev/null
+++ b/spring-batch-samples/src/main/sql/mysql.properties
@@ -0,0 +1,8 @@
+platform=oracle10g
+# SQL language oddities
+BIGINT = BIGINT
+IDENTITY = unsigned
+GENERATED =
+IFEXISTS = IF EXISTS
+# for generating drop statements...
+SEQUENCE = TABLE
diff --git a/spring-batch-samples/src/main/sql/mysql.vpp b/spring-batch-samples/src/main/sql/mysql.vpp
new file mode 100644
index 000000000..5e4dd6446
--- /dev/null
+++ b/spring-batch-samples/src/main/sql/mysql.vpp
@@ -0,0 +1,3 @@
+#macro (sequence $name)CREATE TABLE ${name} (ID BIGINT NOT NULL) type=MYISAM;
+INSERT INTO ${name} values(0);
+#end