2015 IT 웹 기반 개발자과정/JDBC
JDBC Oracle DB연동 및 해제 클래스 만들기 / 사용하기
한여름밤의코딩
2015. 11. 25. 17:28
//오라클 DB 연동되는 클래스와 메소드 package kr.ac.jnu.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class ConnectionFactory { public Connection getConnection(){ Connection conn = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@localhost:1521:xe"; String user = "hr"; String password = "hr"; conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { e.printStackTrace(); } return conn; } public void close(Connection conn, PreparedStatement pstmt ){ if (conn != null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } //============================================================ //오라클 DB연동 해제해주는 클래스와 메소드 package kr.ac.jnu.util; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class JDBCClose { public static void close(Connection conn, PreparedStatement pstmt) { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void close(PreparedStatement pstmt) { if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } } //============================================================ // 생성한 유틸클래스를 이용하여 오라클 DB연동 및 해제하기 package kr.ac.kr.jnu.jdbc; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.util.Scanner; import kr.ac.jnu.util.ConnectionFactory; import kr.ac.jnu.util.JDBCClose; // CREATE TABLE t_test ( // id varchar2(20) primary key, // name varchar2(40) not null // ); public class InsertMain { public static void main(String[] args) { Connection conn = null; PreparedStatement pstmt = null; Scanner sc = new Scanner(System.in); try { ConnectionFactory factory = new ConnectionFactory(); conn = factory.getConnection(); StringBuilder sql = new StringBuilder(); sql.append("insert into t_test(id, name) values(?,?)"); pstmt = conn.prepareStatement(sql.toString()); System.out.println("아디"); String id = sc.nextLine(); System.out.println("이름"); String name = sc.nextLine(); pstmt.setString(1, id); pstmt.setString(2, name); int cnt = pstmt.executeUpdate(); System.out.println(cnt + "행 입력"); sql.append("select * from t_test"); pstmt = conn.prepareStatement(sql.toString()); ResultSet rs = pstmt.executeQuery(); ResultSetMetaData rsmd = rs.getMetaData(); while (rs.next()) { System.out.printf("%-2s : %-10s %-4s : %-10s \n", rsmd.getColumnName(1), rs.getString(1), rsmd.getColumnName(2), rs.getString(2)); } } catch (Exception e) { JDBCClose.close(conn, pstmt); sc.close(); } } } //============================================================