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/
반응형
'Tech > BoostCourse - WEB' 카테고리의 다른 글
[부스트코스] 자바스크립트 배열 (0) | 2020.03.27 |
---|---|
[부스트코스] Rest API와 Web API (0) | 2020.03.20 |
[부스트코스] MySQL 시작하기 (4/4) (DDL - create, drop) (0) | 2020.03.07 |
[부스트코스] MySQL 시작하기 (3/4) (DML - select, insert, update, delete) (0) | 2020.03.07 |
[부스트코스] MySQL 시작하기(2/4) (테이블 생성 및 조회) (0) | 2020.03.04 |