project :  day35

package : jdbc.simple

class :  JDBCTest

  //1. Driver class 로딩
  //2. 연결
  //3. Statement 조회
  //4. query전송
  //4-1 -erlect의 경우 ResultSet
  //5. 연결 닫기

package jdbc.simple;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCTest {
 public static void main(String[] args) {
  // 1. Driver class 로딩
  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
  System.out.println("Driver 로딩 성공");
  Connection conn = null;
  Statement stmt = null;
  ResultSet rset = null;

  String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";

  try {
   // 2. 연결
   conn = DriverManager.getConnection(url, "scott", "tiger");
   // 3. Statement 조회
   stmt = conn.createStatement();
   // 4. query전송
   String insertQuery = "insert into address values('111-444','서울','동작구')";
   int cnt = stmt.executeUpdate(insertQuery);
   System.out.println(cnt + "개의 로우가 insert되었습니다.");
   String selectQuery = "select zipcode,si,dong from address";
   rset = stmt.executeQuery(selectQuery);
   // 4-1 -select의 경우 ResultSet
   while (rset.next()) {
    String zipcode = rset.getString(1);
    String si = rset.getString(2);
    String dong = rset.getString(3);
    System.out.println(zipcode + " - " + si + " - " + dong);

   }

  } catch (SQLException e) {
   e.printStackTrace();
  } finally {

   // 5. 연결 닫기
   if (rset != null) {
    try {
     rset.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }
   if (stmt != null) {
    try {
     stmt.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }
   if (conn != null) {
    try {
     conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }
  }
 }
}

'프로그래밍 > JSP Programming' 카테고리의 다른 글

HTML테그 실행하기  (0) 2012.04.16
HTML의 개요  (0) 2012.04.16
JSP시작하기  (0) 2012.04.16
Web Programming  (0) 2012.04.16
이클립스 톰캣연동하기  (0) 2012.04.16
Posted by 조은성
,

* JDBC
C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib
app와 product는 기억해라.
ojdbc14.jar과 연결해야 오라클 디비와 연동이 된다.

자바실행환경과 연결을 하려면
C:\Program Files\Java\jdk1.6.0_31\jre\lib\ext 경로에 가서 ojdbc14.jar을 붙여 넣어라.(이렇게 하면 따로 환경설정을 안해도 연동시킬 수 있다.(오라클 용으로 api연결))

 

 

* JDBC란?

- Java Database Connectivity

- 자바 데이터베이스 프로그래밍 API

  -> 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해 주는 프로그래밍 인터페이스다.

 

* JDBC API

세가지 입장에서의 JDBC API

1. java 표준 제안자

- JDBC 명세(기준)을 제공

2. Java 응용 프로그램 개발자(일반 Programmer)

- JDBC 명세를 기준으로 JDBC API를 개발하여 배포

3. DBMS Vendor(Oracle, Ms SQL, DB2..)

- DB Vendor에서 배포한 JDBC API를 받아 JDBC명세를 보고 프로그램을 작성한다.

* JDBC의 역할 : 통역자의 역할을 한다(응용프로그램과 DBMS간의 통신을 중간에서 번역해주는 역할을 한다)

* JDBC Driver Class

- Driver : DB와의 연결을 관리하는 클래스

- URL : DBMS에 연결을 위한 URL - DBMS마다 다르다.

* java.sql.Package

- JDBC관련 중요 interface들

-  java.sql.Driver

 - 모든 DBMS를 만드는 Vender 측에서 DB와 연결하는 Driver class를 만들 때 반드시 implements 해야 하는 interface로  JDBC 드라이버의 중심이 되는 interface.

* JDBC 프로그래밍 패턴

1.Driver loading

2. Connection(연결)

3. Statement/PreparedStatement

4. ResultSet(Select의 경우)

5. close(Connection, Statement, ResultSet)

* JDBC Programming Pattern

1. Driver Loading : Package의 것을 메모리에 올리기

Driver :  DB와 프로그램의 연결을 관리

Class.forName("Driver Class");

예)

필드 :  인스턴스 멤버변수 + 클래스 멤버변수

String driver = "oracle.jdbc.driver.OracleDriver";  //문자열로 드라이버를 메모리에 올려주면 DB가 바뀌어도 문자만 바꿔주면 되서 관리면에서 편하다.

Class.forName(driver);

 

 

Posted by 조은성
,

* 기본구문

INSERT INTO table_name(column1, column2,...) values(데이터,데이터,...)

- 예) insert into table_name(column1, column2) values(100,200);

Posted by 조은성
,