1. JDBC 사용 기본 문법
1) 가장 기본적인 문법.
import java.sql.*; //1. 임포트하자. public class JDBCTest { public static void main(String[] args) { //2. JDBC 드라이버 설치 (JAVA 설치되 경로의 ext 폴더에 넣어준다) String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:XE"; //jdbc의 버전과 드라이버정보를 표기한 후 접속할 IP와 Port번호와 SID를 입력. try{ Class.forName(driver); }catch(ClassNotFoundException ex){ System.out.println("Class Not Found"); } //3. Oracle DB에 Connection 하자. //4. Statement 객체 생성하자. //5. SQL 실행 // String sql = "SELECT SYSDATE FROM dual"; String sql = "Select zipcode, sido, gugun,dong,bunji From zipcode Where dong like '%야탑동%' Order by zipcode"; Connection conn = null; Statement stmt = null; ResultSet rs = null; try{ conn = DriverManager.getConnection(url,"scott","tiger"); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); rs.next(); // rs값의 첫번째 값을 읽는다! java.util.Date now = rs.getDate(1); System.out.println(now); }catch(SQLException ex){ System.out.println(ex); } //6. Close 하자 finally{ try{ if(conn !=null) conn.close(); if(conn !=null) stmt.close(); }catch(SQLException ex){ System.out.println(ex); } } } } |
2) DriverManager를 이용해 Driver를 등록하는 방법
import java.sql.DriverManager; import java.sql.SQLException; public class JDBCTest { public static void main(String[] args) { //DriverManager를 이용한 Driver Loading try{ DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //deregisterDriver로 해제 가능 System.out.println("성공"); }catch(SQLException ex){} } } |
3) properties를 이용한 DB 정보 입력
public DBBean(){//Constructor info = new Properties(); try{ info.load(new FileInputStream("D:\\OracleRoom\\dbinfo.properties")); }catch(IOException ex){ System.out.println(ex.toString()); } } |
2. Java 에서 DB의 접근 속도를 줄이는법.
1) Prepared Statement
- 처음 문장을 선언할 때 문법 검사를 하지않고 마지막 값을 넣을 때 문법 검사를 하기때문에 속도가 더 빠르다.
Connection conn = bean.getConnection(); int[] deptnoArray = {50,60,70,80,90}; String[] dnameArray = {"전산실","영업부","관리부","자재부","총무부"}; String[] locArray = {"서울","부산","대전","광주","대구"};
String sql = "Insert into dept(deptno, dname, loc) Values (?,?,?)"; //값을 넣지 않고 지나간다. PreparedStatement pstmt = conn.prepareStatement(sql); for (int i = 0; i < 5; i++) { pstmt.setInt(1, deptnoArray[i]); pstmt.setString(2, dnameArray[i]); pstmt.setString(3, locArray[i]); int row = pstmt.executeUpdate(); System.out.println(row +"개의 행이 반영됨"); } bean.connClose(); |
2) Batch 파일 형태로 쿼리를 한번에 모와서 실행하는 방법
Connection conn = bean.getConnection(); int[] deptnoArray = {50,60,70,80,90}; String[] dnameArray = {"전산실","영업부","관리부","자재부","총무부"}; String[] locArray = {"서울","부산","대전","광주","대구"}; Statement stmt = conn.createStatement(); for (int i = 0; i < 5; i++) { String sql = "Insert into dept values("+deptnoArray[i]+",'"+dnameArray[i]+"','" +locArray[i]+"')"; stmt.addBatch(sql); // 쿼리문 저장, } int [] row = stmt.executeBatch(); //한번에 실행 System.out.println(row.length+"개의 행이 반영되었습니다"); bean.connClose(); |
'Programming > JAVA' 카테고리의 다른 글
Using openCSV in JAVA (0) | 2013.11.20 |
---|---|
이클립스 JSP plug in / 환경설정 (3) | 2011.03.24 |
JDBC 설정 (2) | 2011.03.24 |
JAVA IO (1) | 2011.03.24 |
JAVA Threads (2) | 2011.03.24 |