Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

JDBC Xóa &Chèn bằng cách sử dụng hàng loạt

Đối với phần xóa:

Sử dụng addBatch rồi thực hiện executeBatch:

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

Sau đó, kết quả sẽ chứa một mảng với số hàng bị xóa khỏi mỗi bảng.

Để chèn:

Dưới đây là một ví dụ để chỉ cho bạn cách chèn một vài bản ghi trong quy trình hàng loạt, thông qua 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();

Liên kết tài nguyên:

Ví dụ về JDBC PreparedStatement - Cập nhật hàng loạt

CẬP NHẬT:

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();
                  }
           }
    }
}

ĐẦU RA:

Connection established successfully!
PreparedStatement Batch executed, DELETE done

Trong hướng dẫn này, chúng ta đã học cách Thực thi truy vấn DELETE (lệnh DML) bằng cách sử dụng addBatch() của PreparedStatement và executeBatch() các phương thức trong java JDBC.

Liên kết tài nguyên:

  1. JDBC Xử lý hàng loạt (Chèn hàng loạt, cập nhật và xóa)
  2. JDBC- Ví dụ về Batch PreparedStatement- Thực thi truy vấn DELETE ( DMLcommand) sử dụng phương thức addBatch () và executeBatch () của PreparedStatement trong 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. Truy vấn MYSQL WHERE TRONG so với HOẶC

  2. Cách xác định một thứ tự ORDER BY tùy chỉnh trong mySQL

  3. ĐƯỢC XÁC NHẬN BẰNG 'mật khẩu' trong MySQL

  4. Bảng 'performance_schema.session_variables' không tồn tại

  5. Tìm kiếm dễ dàng hàng có giá trị lớn nhất với nhóm