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

+ Recent posts