package lavasoft.jdbctest; import lavasoft.common.DBToolkit; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; /** *Three ways of batch operation of JDBC * * @author leizhimin 2009-12-4 14:42:11 */ public class BatchExeSQLTest { public static void main(String[] args) { exeBatchStaticSQL(); } /** * Batch execute SQL with predefined schema */ public static void exeBatchParparedSQL() { Connection conn = null; try { conn = DBToolkit.getConnection(); String sql = "insert into testdb.book (kind, name) values (?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, "java"); pstmt.setString(2, "jjjj"); pstmt.addBatch(); //Add a predefined parameter pstmt.setString(1, "ccc"); pstmt.setString(2, "dddd"); pstmt.addBatch(); //Add predefined parameters again //Batch execute predefined SQL pstmt.executeBatch(); } catch (SQLException e) { e.printStackTrace (); } finally { DBToolkit.closeConnection(conn); } } /** * Batch execute mixed-mode SQL, predefined, and static */ public static void exeBatchMixedSQL() { Connection conn = null; try { conn = DBToolkit.getConnection(); String sql = "insert into testdb.book (kind, name) values (?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, "java"); pstmt.setString(2, "jjjj"); pstmt.addBatch(); //Add a predefined parameter pstmt.setString(1, "ccc"); pstmt.setString(2, "dddd"); pstmt.addBatch(); //Add predefined parameters again //Add a static SQL pstmt.addBatch("update testdb.book set kind = 'JAVA' where kind='java'"); //Batch execute predefined SQL pstmt.executeBatch(); } catch (SQLException e) { e.printStackTrace (); } finally { DBToolkit.closeConnection(conn); } } /** * Execute batch static SQL */ public static void exeBatchStaticSQL() { Connection conn = null; try { conn = DBToolkit.getConnection(); Statement stmt = conn.createStatement(); //Continuously add multiple static SQL stmt.addBatch("insert into testdb.book (kind, name) values ('java', 'java in aciton')"); //Do not add a semicolon after stmt.addBatch("insert into testdb.book (kind, name) values ('c', 'c in aciton')"); stmt.addBatch("delete from testdb.book where kind ='C#'"); stmt.addBatch("update testdb.book set kind = 'JAVA' where kind='java'"); // stmt.addBatch("select count(*) from testdb.book"); //Batch execution does not support Select statements // execute batch execution stmt.executeBatch(); } catch (SQLException e) { e.printStackTrace (); } finally { DBToolkit.closeConnection(conn); } } }
batch operation of jdbc
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=326011459&siteId=291194637
Recommended
Ranking