Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

JDBC Hapus &Sisipkan menggunakan batch

Untuk menghapus bagian:

Gunakan addBatch lalu jalankanBatch:

Statement st = con.createStatement();
st.addBatch("DELETE FROM tbl1");
st.addBatch("DELETE FROM tbl2");
st.addBatch("DELETE FROM tbl3");
int[] results = st.executeBatch();

Kemudian hasilnya akan berisi larik dengan jumlah baris yang dihapus dari setiap tabel.

Untuk Penyisipan:

Berikut adalah contoh untuk menunjukkan kepada Anda cara memasukkan beberapa catatan dalam proses batch, melalui JDBC PreparedStatement.

dbConnection.setAutoCommit(false);//commit trasaction manually

String insertTableSQL = "INSERT INTO DBUSER"
            + "(USER_ID, USERNAME, CREATED_BY, CREATED_DATE) VALUES"
            + "(?,?,?,?)";              
PreparedStatement = dbConnection.prepareStatement(insertTableSQL);

preparedStatement.setInt(1, 101);
preparedStatement.setString(2, "mkyong101");
preparedStatement.setString(3, "system");
preparedStatement.setTimestamp(4, getCurrentTimeStamp());
preparedStatement.addBatch();

preparedStatement.setInt(1, 102);
preparedStatement.setString(2, "mkyong102");
preparedStatement.setString(3, "system");
preparedStatement.setTimestamp(4, getCurrentTimeStamp());
preparedStatement.addBatch();
preparedStatement.executeBatch();

dbConnection.commit();

Tautan Sumber Daya:

Contoh Pernyataan Persiapan JDBC – Pembaruan Batch

PERBARUI:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/** Copyright (c), AnkitMittal JavaMadeSoEasy.com */
public class PreparedStatementDeleteExample {
    public static void main(String... arg) {
           Connection con = null;
           PreparedStatement prepStmt = null;
           try {
                  // registering Oracle driver class
                  Class.forName("oracle.jdbc.driver.OracleDriver");

                  // getting connection
                  con = DriverManager.getConnection(
                               "jdbc:oracle:thin:@localhost:1521:orcl",
                               "ankit", "Oracle123");
                  System.out.println("Connection established successfully!");             

                  con.setAutoCommit(false); //Now, transactions won't be committed automatically.

                  prepStmt = con.prepareStatement("DELETE from EMPLOYEE where ID=? ");

                  //1) add set of parameters in PreparedStatement's object - BATCH of commands
                  prepStmt.setInt(1, 7); //substitute first occurrence of ? with 7
                  prepStmt.addBatch();

                  //2) add set of parameters in PreparedStatement's object - BATCH of commands                  
                  prepStmt.setInt(1, 8); //substitute first occurrence of ? with 8
                  prepStmt.addBatch();


                  //Execute PreparedStatement batch
                  prepStmt.executeBatch();
                  System.out.println("PreparedStatement Batch executed, DELETE done");

                  con.commit(); //commit all the transactions

           } catch (ClassNotFoundException e) {
                  e.printStackTrace();
           } catch (SQLException e) {
                  e.printStackTrace();
           }
           finally{
                  try {
                        if(prepStmt!=null) prepStmt.close(); //close PreparedStatement
                        if(con!=null) con.close(); // close connection
                  } catch (SQLException e) {
                        e.printStackTrace();
                  }
           }
    }
}

OUTPUT:

Connection established successfully!
PreparedStatement Batch executed, DELETE done

Dalam tutorial ini kita belajar cara Mengeksekusi kueri DELETE(perintah DML) menggunakan addBatch() dari PreparedStatement dan executeBatch() metode di java JDBC.

Tautan Sumber Daya:

  1. JDBC Pemrosesan Batch (Masukkan, perbarui, dan hapus Batch)
  2. JDBC- Contoh Pernyataan Siap Batch- Jalankan kueri DELETE( DMLcommand) menggunakan metode addBatch() dan executeBatch() dari PreparedStatement di java



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menghubungkan mySQL di proyek Android saya?

  2. Pivot dinamis MySQL

  3. Grup berbeda Django berdasarkan kueri pada dua bidang

  4. Bagaimana cara mengatur ASP.NET MVC 2 dengan MySQL?

  5. Hibernate tidak menghormati bidang kunci utama MySQL auto_increment