Java executeBatch()

2023. 2. 26. 15:37Java

프로젝트 내 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