본문 바로가기

Tech/BoostCourse - WEB

[부스트코스] JDBC란?

JDBC(Java Database Connectivity)

- 자바를 이용한 데이터베이스 접속과 SQL문장의 실행, 그리고 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 관한 규약

- 자바 프로그램 내에서 SQL문을 실행하기 위한 자바 API

- SQL과 프로그래밍 언어의 통합 접근 중 한 형태

 

Java는 표준 인터페이스인 JDBC API를 제공한다.

데이터베이스 벤더, 또는 기타 써드파티에서는 JDBC 인터페이스를 구현한 드라이버(driver)를 제공한다.

개발자들은 이러한 드라이버를 이용하면 우리의 어플리케이션에 쉽게 데이터베이스를 적용할 수 있다.

 

 

JDBC를 이용한 프로그래밍 방법

0. 환경 구성

- JDK 설치

- JDBC 드라이버 설치 (Maven에 의존성 추가. MySQL사이트에서 다운로드)

<dependency>
 <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.45</version>
</dependency>

 

1. IMPORT

import java.sql.*;

 

2. 드라이버를 로드 한다.

- 사용할 DB 구현체(MySQL, MeriaDB ...)를 선택해 라이브러리를 로딩하는 단계

Class.forName( "com.mysql.jdbc.Driver" );

 

3. Connection 객체를 생성한다. (DB 접속)

String dburl  = "jdbc:mysql://localhost/dbName";

Connection con =  DriverManager.getConnection ( dburl, ID, PWD );

예제

public static Connection getConnection() throws Exception{
	String url = "jdbc:oracle:thin:@117.16.46.111:1521:xe";
	String user = "smu";
	String password = "smu";
	Connection conn = null;
	Class.forName("oracle.jdbc.driver.OracleDriver");
	conn = DriverManager.getConnection(url, user, password);
	return conn;
}
 

 

4. Statement 객체를 생성 및 질의 수행

Statement 생성

Statement stmt = con.createStatement();

질의 수행

ResultSet rs = stmt.executeQuery("select no from user" );

참고
stmt.execute(“query”);             //any SQL
stmt.executeQuery(“query”);     //SELECT
stmt.executeUpdate(“query”);   //INSERT, UPDATE, DELETE

 

5. SQL문에 결과물이 있다면 ResultSet 객체를 생성한다.

ResultSet rs =  stmt.executeQuery( "select no from user" );
while ( rs.next() )
      System.out.println( rs.getInt( "no") );

 

6. 모든 객체를 닫는다.

- 모든 클라이언트와 무한히 연결될 수 없다. 다 사용하면 객체를 닫아야 다른 클라이언트가 사용 가능하다.

rs.close();

stmt.close();

con.close();

 

 

JDBC 클래스의 생성 관계

 

[부스트코스 관련 강의 링크]

JDBC란? - https://www.edwith.org/boostcourse-web/lecture/16734/

 

[LECTURE] 1) JDBC란? : edwith

들어가기 전에 이번 시간엔 JAVA언어를 이용해서 DBMS로 부터 정보를 조회하는 방법인 JDBC에 대해 알아보도록 하겠습니다.   학습 목표 JDBC가 무엇인지 이해한다.   핵... - 부스트코스

www.edwith.org

반응형