Published 2020. 9. 1. 20:13
728x90
반응형

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)라는 것을 가지고 특정 행에 대한 참조를 조작

반응형
복사했습니다!