본문 바로가기

.주제별/Java

[Java] Java와 Database 연결 (JDBC) 방법

* 자바로 데이타베이스 프로그래밍을 하기 위해서는 JDBC 드라이버를 사용한다.

  JDBC를 이용해 특정 데이타베이스 서버에 연결하려면 그 서버의 주소를 명시할 방법이 있어야 하고,

  서버를 지정하기 위해 URL 타입의 방식을 사용한다.


* 참고 : 누리강좌 [ JDBC Programming ]

* 표준 URL의 구성과 사용예

URL = 연결Protocol:데이터베이스벤더:사용할연결방법:데이터베이스서버IP:
          PORT:Instance(Service)명칭

* 데이타베이스별 드라이버와 Type별 지정하는 URL 예

Driver URL Description
oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@ipaddress:1521:ORA7

oracle-
DB/thin-Driver
oracle.jdbc.driver.OracleDriver

jdbc:oracle:oci7:@ipaddress:1521:ORA7

oracle-
DB/OCI-Driver
org.gjt.mm.mysql.Driver

jdbc:mysql://ip_address:3306/database_name

mysql
sun.jdbc.odbc.JdbcOdbcDriver jdbc:odbc:database_name jdbc-odbc-
Bridge

* JDBC 프로그래밍 절차 (출처 : 누리강좌)

1) Driver Loading

    Driver Loading시, "Class.forName"을 통해서 동적으로 JDBC 클래스를 로딩한다.

Class.forName("org.gjt.mm.mysql.Driver");

    [참고] Class.forName 메서드는 문자열을 받아들인 다음에,

        문자열에 해당하는 클래스를  메모리에 로딩해주는 기능을 한다.

2) Connection 획득

    DriverManager의  getConnection()메소드를 이용하여, Connection 객체를 획득한다.

Connection con = DriverManager.getConnection(url,user,password);

3) Statement Object 획득

    위 Connection의 객체의 'createStatement()' 메소드를 이용하여, Statement객체 획득

Statement stmt = con.createStatement();

4) SQL 실행

    Statement객체를 통해 SQL 발행

    ResultSet rset = stmt.executeQuery("SELECT * FROM TEST");

5) 결과 값 처리

    while(rset.next()) rset.getString(1);

6) 객체 Close

    con.close();

    stmt.close();

* 예제..

String url = "jdbc:mysql://ipaddress:3306/test";
String user = "user"
String password = "password"
Connection con = null;

/* 연결 */
Class.forName("org.gjt.mm.mysql.Driver");
con = DriverManager.getConnection(url, user, password);

...

/* Statement */
Statement stmt = con.createStatement();
init rowsUPdate = stml.executeUpdate("UPDATE TEST " + "SET age = 20");

..
stmt.close();
con.close();