JDBC(Java DataBase Connectivity)란?
자바 언어에서 Database에 접근할 수 있게 해 주는 Programming API
Java에서 DBMS연동에 필요한 메소드를 Connection인터페이스 제공 각 밴더(vendor)별 구현하여(jar파일 ) DBMS에 접속 가능하게 함
설치 및 세팅
OJDBC 다운로드 → 오라클에서 OJDBC파일 가져오기 → jdk에 JDBC설치하기(다운받거나 복사한 ojdbc파일을 jdk폴더에 넣기)
이클립스 Character Set 설정
문자 인코딩 방식이 맞지 않으면 해당 문자가 제대로 출력되지 않아, 이클립스 작업파일에 대한 문자 셋을 일치시켜줘야 함 (UTF-8)
window → preferences 클릭
기본 문자 인코딩
General → Workspace → Text file encoding → other에서 UTF-8 선택 → Apply
General → Editors → Text Editors → Seplling UTF-8 변경 → Apply
JDBC class/interface
DriverManager
데이터 원본에 JDBC 드라이버를 통하여 커넥션을 만드는 역할을 함
Class.forName()메소드를 통해 생성되며, 반드시 예외처리를 해야 함
직접 객체 생성이 불가능하고, getConnection()메소드를 사용하여 객체를 생성할 수 있음
Connection
Connection객체는 특정 데이터 원본과 연결된 커넥션을 나타냄
Statement객체를 생성할 때도 Connection객체를 사용하여 createStatement()메소드를 호출하여 생성함
SQL문장을 실행시키기 전에 우선 Connection객체가 있어야 함
Statement
Connection객체에 의해 프로그램에 리턴되는 객체에 의해 구현되는 일종의 메소드 집합을 정의
Connection클래스의 createStatement()메소드를 호출하여 얻어지며, 생성된 Statement객체로 질의문장을 String객체에 담아 인자로 전달하여 excuteQuery()메소드를 호출하여 SQL 질의를 수행
try{
String query = “SELECT MEMBER_ID, MEMBER_NAME” + “ FROM MEMBER”
stmt = conn.createStatement();
rset = stmt.excuteQuery(query);
}catch(SQLException e){
e.printStackTrace();
}
PreparedStatement
Connection 객체의 preparedStatement()메소드를 사용하여 객체를 생성
SQL문장이 미리 컴파일되고, 실행시간 동안 인수 값을 위한 공간을 확보할 수 있다는 점에서 Statement와 다름
각각의 인수에 대해 위치지정자(?)를 사용하여 SQL문장을 정의
try{
String query = “insert into member value (?, ?);
pstmt = conn.preparedStatement(query);
pstmt.setString(1, id);
pstmt.setString(2, password);
}catch(SQLException e){
e.printStackTrace();
}
ResultSet
SELECT문을 사용한 질의 성공시 ResultSet을 반환
ResultSet은 SQL질의에 의해 생성된 테이블을 담고 있으며 ‘커서(cursor)라는 것을 가지고 특정 행에 대한 참조를 조작
'프로그래밍 > JDBC' 카테고리의 다른 글
[JDBC] Could not get JDBC Connection; nested exception is java.sql.SQLTransientConnectionException (0) | 2022.02.16 |
---|---|
06.03(coding 절차 및 사용 예시) (0) | 2020.06.03 |
06.02(JDBC coding 절차 및 용어 설명) (0) | 2020.06.02 |
06.01(이클립스와 JDBC연동 - ojdbc6.jar 파일) (0) | 2020.06.01 |