/* * This sample shows how to use the batching extensions. * In this example, we set the defaultBatch value from the * connection object. This affects all statements created from * this connection. * It is possible to set the batch value individually for each * statement. The API to use on the statement object is setExecuteBatch. * */ // You need to import the java.sql package to use JDBC import java.sql.*; // You need to import oracle.jdbc.driver.* in order to use the // API extensions. import oracle.jdbc.driver.*; class SetExecuteBatch { public static void main (String args []) throws SQLException { // Load the Oracle JDBC driver DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); // Connect to the database // You can put a database name after the @ sign in the connection URL. Connection conn = DriverManager.getConnection ("jdbc:oracle:oci7:@", "scott", "tiger"); Statement stmt = conn.createStatement (); // Default batch value set to 2 for all prepared statements belonging // to this connection. ((OracleConnection)conn).setDefaultExecuteBatch (2); PreparedStatement ps = conn.prepareStatement ("insert into dept values (?, ?, ?)"); ps.setInt (1, 12); ps.setString (2, "Oracle"); ps.setString (3, "USA"); // No data is sent to the database by this call to executeUpdate System.out.println ("Number of rows updated so far: " + ps.executeUpdate ()); ps.setInt (1, 11); ps.setString (2, "Applications"); ps.setString (3, "Indonesia"); // The number of batch calls to executeUpdate is now equal to the // batch value of 2. The data is now sent to the database and // both rows are inserted in a single roundtrip. int rows = ps.executeUpdate (); System.out.println ("Number of rows updated now: " + rows); ps.close (); } }