Java executeBatch()
2023. 2. 26. 15:37ㆍJava
프로젝트 내 src 내 javabasic 패키지 내 NonBatch.java
package javabasic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class NonBatch {
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn = null;
PreparedStatement pst = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "a1234");
String query = "insert into nonbatch values(?,?,?,?,?)";
pst = conn.prepareStatement(query);
long startTime = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
pst.setString(1, "col1");
pst.setString(2, "col2");
pst.setString(3, "col3");
pst.setString(4, "col4");
pst.setString(5, "col5");
// pst.addBatch();
pst.executeUpdate();
}
// pst.executeBatch();
long endTime = System.currentTimeMillis();
System.out.println("데이터 입력 소요시간: " + (endTime - startTime) + "ms");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (pst != null)
try {
pst.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
실행 결과
데이터 입력 소요시간: 4052ms
int java.sql.PreparedStatement.executeUpdate() throws SQLException
executeUpdate() 메서드는 INSERT, UPDATE 또는 DELETE 같이 SQL 데이타 조작 언어이어야만 하는 SQL 문을 요 PreparedStatement 객체에서 실행한다; 또는 DDL 데이타 정의어 문구 같이 아무것도 반환하지 않는 SQL 문을 요 PreparedStatement 객체에서 실행한다.
int[] java.sql.Statement.executeBatch() throws SQLException
executeBatch() 메서드는
실행을 위해서 데이타베이스에 명령어들을 일괄로(일회분으로) 처리하여 보내는데 만약에 모든 명령어들이 성공적으로 실행된다면, 새롭게 한(업데이트 한) 횟수들의 배열을 반환한다.
'Java' 카테고리의 다른 글
Java CharArrayReader class (0) | 2023.02.27 |
---|---|
Java CallableStatement (0) | 2023.02.26 |
Java ResultSetMetaData (0) | 2023.02.24 |
Java Collections class (0) | 2023.02.21 |
Java executeUpdate() (0) | 2023.02.20 |