on
JDBC
JDBC
JDBC(Java DataBase Connectivity)
자바 언어에서 데이터 베이스에 접근할 수 있게 해주는 프로그래밍 API
자바에서 DBMS 연동에 필요한 메소드를 Connection 인터페이스에서 제공
각 DBMS 밴더별 구현하여(jar파일) DBMS에 접속 가능하게 함
JDBC 코딩 절차
String url = "jdbc:oracle:thin:@localhost:1521:XE";
1. Driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver"); *try~catch 처리 반드시!
2. DBMS와 연결
conn = Driver.Manager.getConnection(url,user,password); *연결을 드라이브매니저로 하고, conn이라는 변수에 넣어 연결
3. Statement 생성 *연결전송을 위한 객체
4. SQL 전송(쿼리문 실행)
5. 결과받기(ResultSet)
rset = stmt.executeQuery(sql);
6. 닫기 close() 자원해제
conn.close(); stmt.close(); rset.close();
DriverManager
데이터 원본에 JDBC 드라이버를 통하여 커넥션을 만드는 역할
Class.forName()메소드를 통해 생성, 반드시 예외처리를 해야 한다
getConnection() 메소드를 이용하여 객체를 생성(연결을 만들 수 있다)
Connection
Connection 객체는 특정 데이터 원본과 연결된 커넥션을 나타낸다
Statement 객체를 생성할 떄도 Connection 객체를 사용하여 createStatement() 메소드를 호출하여 생성
SQL 문장을 실행시키기 전에 우선 Connection 객체가 있어야 한다
Statement
Connection 객체에 의해 구현되는 일종의 메소드 집합을 정의
커넥션 클래스의 createStatement() 메소드를 호출하며 얻어지며, 생성된 Statement 객체로 질의 문장을 String 객체에 담아 인자로 전달하여 executeQuery() 메소드를 호출하여 SQL 질의 수행
DML -> executeUpdate() / result = executeUpdate(sql)
SELECT -> executeQuery(sql) / rSet = executeQuery(sql)
PreparedStatement
SQL이 미리 컴파일되고, 실행 시간 동안 인수 값을 위한 공간을 확보할 수 있다는 점에서 Statement와 다르다. 각각의 인수에 대해 위치홀더를 생성하여 SQL 문장을 정의할 수 있게 해준다
*stmt는 쿼리가 실행할 때 필요하고, pstmt는 Statement 준비할 때 필요
from http://roqkfgksmsdbstn.tistory.com/141 by ccl(A) rewrite - 2021-12-29 21:01:28