JDBC - Insert
이번 장에서는 NAMECARD 테이블에 JDBC를 이용해서 데이터를 INSERT 시키는 예제를 구현한다.
다음 인서트 문을 JDBC를 사용해 실행하는 게 우리의 목표다.
INSERT INTO NAMECARD VALUES ( SEQ_NAMECARD_NO.NEXTVAL, '홍길동', '011-0000-0000', 'hongkildong@gmail.org', '활빈당' );
아래 NamecardInsert.java 의 메인 메소드에 아래 JDBC프로그래밍 순서를 참고해서 작성한다.
- JDBC 드라이버 로딩
- Connection 맺기
- SQL 실행
- [SQL문이 select문이었다면 ResultSet을 이용한 처리]
- 자원 반환
NamecardInsert.java
package net.java_school.jdbc.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class NamecardInsert { static final String URL = "jdbc:oracle:thin:@127.0.0.1:1521:XE"; static final String USER = "scott"; static final String PASS = "tiger"; public static void main(String[] args) { // JDBC 드라이버를 로딩한다. try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } Connection con = null; Statement stmt = null; String sql = "INSERT INTO NAMECARD VALUES " + "(SEQ_NAMECARD_NO.NEXTVAL," + "'홍길동'," + "'011-0000-0000'," + "'hongkildong@gmail.org'," + "'활빈당')"; try { // Connection 맺기 con = DriverManager.getConnection(URL, USER, PASS); // SQL 실행 stmt = con.createStatement(); stmt.executeUpdate(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println(sql); } finally { try { stmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
한번 실행하고 난 다음 데이터가 삽입되었는지 SQL*PLUS에서 확인한다.