2025.09.08
JDBC
- Java Database Connectivity의 약자로 자바프로그램과 데이터베이스를 연결하는 프로그래밍 방식을 이야기한다.
- Java 언어로 다양한 종류의 관계형 데이터베이스를 접근할 때 사용되는 표준 SQL 인터페이스 API로 java.sql 패키지를 의미한다.
- 오라클에서 지원하는 Java.sql 패키지는 90% 인터페이스이다. 따라서 전부 구현해야 하는데 직접 구현 하는 것이 아니라 데이터베이스 벤더(여러 DB, my-sql,sybase 등) 에서 직접 구현 해 놓음 --> 갖다 쓰면 됨
JDBC 장점
- 자바 언어로 작성된 api이므로 운영체제에 독립적이다.
- db종류와 관계없이 프로그래밍이 가능하다. [JDBC 드라이버만 있다면 어떤 DBMS와도 연동 가능]
- 특정 DB에 연동되는 JDBC 프로그램은 다른 DB연동 시에도 프로그램 수정 없이 코드를 그대로 활용할 수 있다.(장점) [JDBC Driver와 url만 다를 뿐, 프로그램의 나머지 코드는 수정할 필요가 없다.]
JDBC 절차
| 0단계 |
Build 작업 |
생성한 프로젝트에 우클릭 --> Build Path --> Add External Archives |
| 1단계 |
sql패키지 불러오기 |
import java.sql.*; |
| 2단계 |
JDBC Driver경로지정 |
Class.forName("oracle.jdbc.driver.OracleDriver") |
| 만약 오타가 나면 ClassNotFoundException 발생 |
|
|
| 3단계 |
DB연결하기 |
|
| (다리 만들기) |
String url = “jdbc:oracle:thin:@localhost:1521:xe”; |
|
| String user = “scott”; |
|
|
| String pwd = “1234”; |
|
|
Connection con = DriverManager.getConnection(url,user,pwd); |
| 4단계 | DB자원 회수하기 (역순) | conn.close(); |
Statement 객체(정적) // 용달차
- statement객체는 statement 인터페이스를 구현한 객체로 실제 SQL문을 수행하기 위해서 사용 하며 항상 인수가 없는 Connection 클래스의 createStatement() 메서드를 호출함으로써 얻어진다.
<형식>
Statement stmt=conn.createStatement(); //Connection 클래스로부터 파생
SQL문 (쿼리)을 전송 메서드들
| select |
ResultSet rs=stmt.executeQuery("select문"); |
| insert |
|
| update |
|
| delete |
|
| int dateCount = stmt.executeUpdate("update문"); |
|
ResultSet 구조