[JAVA와 DB의 연동 : JDBC(Java DataBase Connection) Programming]
★ JDBC 작업 순서
① Driver 클래스를 메모리에 Loading ▶ 정적로딩
- JDBC Driver 등록
(C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6.jar)
② JDBC API Import : JAVA와 DB를 연동해 주는 패키지를 import ▶ import java.sql.*
Class
|
DriverManager
|
드라이버
|
OracleDriver.class
|
Interface
|
Connection
|
연결객체
|
|
Statement
|
전송객체
(SQL 문장전송)
|
|
PreparedStatement
|
많이 사용
|
ResultSet
|
결과객체
|
Select Qurey
|
③ OracleDriver.class 생성 ▶ 동적로딩
- Class.forName("oracle.jdbc.driver.OracleDriver");
④ Connection(연결객체) ▶ jdbc:oracle:thin:@127.0.0.1:1521:XE
- jdbc:oracle:thin: ▶ 프로토콜, 구분기호는 콜론
- @127.0.0.1:1521:XE ▶ 서브프로토콜 : IP 시작전에 @기호, 포트번호, 서비스네임
- user : hanul, password : 0000
⑤ SQL문장 전송(전송객체) : Statement, PreparedStatement
- Statement 전송객체 생성 : Stmtement st = conn.createStatement();
- PreparedStatement 전송객체 생성 : PreparedStatement ps = conn.preparedStatement(sql);
⑥ SQL 문장 작성 : String sql = " ~~~ ";
⑦ Statement 객체에 SQL 문장을 전송
- insert, delete, update ▶ executeUpdate();
- select ▶ executeQuery();
※ JAVA 입력변수를 이용한 SQL문장 작성시 ▶ “ + 변수명 + ”
String sql = "insert into tblMember values";
sql += "( " + num + " , ' " + name + " ', " + age + " , ' " + addr + " ', ' " + tel + " ')";
※ PreparedStatement 작성 시 유의사항
- 먼저 SQL 문장을 작성한다.
- SQL 문장에서 매개변수(JAVA변수)는 ?로 작성
- ps.setInt(), ps.setString() : 값(변수)을 할당
- 일련번호는 1부터 시작
- ps.executeUpdate(), ps.executeQuery() : SQL문 전송 시 괄호 안에는 입력하지 않는다.
String sql = "insert into tblMember values(?, ?, ?, ?, ?)";
PreparedStatement ps = conn.preparedStatement(sql);
ps.setInt(1, 5);
ps.setString(2, "지선우“);
ps.setInt(3, 40);
ps.setString(4, "서울시 강남구 청담동“);
ps.setString(5, "010-5555-5555");
ps.executeUpdate();
|