This version of the manual is outdated. For the latest version, follow this link: http://www.jooq.org/doc/3.0/manual.
| The jOOQ User Manual. Multiple Pages : Advanced topics : Using JDBC batch operations | previous |
# JDBC batch operations
With JDBC, you can easily execute several statements at once using the addBatch() method. Essentially, there are two modes in JDBC
- Execute several queries without bind values
- Execute one query several times with bind values
In code, this looks like the following snippet:
// 1. several queries
// ------------------
Statement stmt = connection.createStatement();
stmt.addBatch("INSERT INTO author VALUES (1, 'Erich Gamma')");
stmt.addBatch("INSERT INTO author VALUES (2, 'Richard Helm')");
stmt.addBatch("INSERT INTO author VALUES (3, 'Ralph Johnson')");
stmt.addBatch("INSERT INTO author VALUES (4, 'John Vlissides')");
int[] result = stmt.executeBatch();
// 2. a single query
// -----------------
PreparedStatement stmt = connection.prepareStatement("INSERT INTO autho VALUES (?, ?)");
stmt.setInt(1, 1);
stmt.setString(2, "Erich Gamma");
stmt.addBatch();
stmt.setInt(1, 2);
stmt.setString(2, "Richard Helm");
stmt.addBatch();
stmt.setInt(1, 3);
stmt.setString(2, "Ralph Johnson");
stmt.addBatch();
stmt.setInt(1, 4);
stmt.setString(2, "John Vlissides");
stmt.addBatch();
int[] result = stmt.executeBatch();
# This will also be supported by jOOQ
jOOQ supports executing queries in batch mode as follows:
// 1. several queries
// ------------------
create.batch(
create.insertInto(AUTHOR, ID, NAME).values(1, "Erich Gamma"),
create.insertInto(AUTHOR, ID, NAME).values(2, "Richard Helm"),
create.insertInto(AUTHOR, ID, NAME).values(3, "Ralph Johnson"),
create.insertInto(AUTHOR, ID, NAME).values(4, "John Vlissides"))
.execute();
// 2. a single query
// -----------------
create.batch(create.insertInto(AUTHOR, ID, NAME).values("?", "?"))
.bind(1, "Erich Gamma")
.bind(2, "Richard Helm")
.bind(3, "Ralph Johnson")
.bind(4, "John Vlissides")
.execute();
| The jOOQ User Manual. Multiple Pages : Advanced topics : Using JDBC batch operations | previous |
