For developer/JAVA

JDBC 작업순서

프린이0218 2020. 4. 24. 00:16

[JAVADB의 연동 : 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 : JAVADB를 연동해 주는 패키지를 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();

JDBC.hwp
0.03MB