JDBC(Java Database Connecitivity)
- 자바프로그램에서 데이터베이스와 연결해 데이터베이스관련 작업을 할 수 있도록 해주는 자바 프로그래밍 인터페이스를 위한 API규격
- Driver, DriverManger, Connection, Statement, ProperedStatement, ResultSet, DataSource등 여러 클래스와 인터페이스로 구성된 패키지 java.sql.*, javax.sql.*로 구성
- 표준 API제공
- 데이터베이스를 연결해 테이블 형태의 자료 참조
- SQL문 질의
- SQL문 결과 처리 - JDBC 역할
DBMS의 종류에 상관없이 쉽게 SQL문을 수행하고 그 결과를 처리하도록 설계
→ 한번 JDBC로 작성된 프로그램은 Oracle, MySql, SqlServer,DB2등 어떤 DB를 사용하던지 소스의 수정을 최소화해 바로 실행가능 - JDBC 프로그래밍 절차
1. JDBC 드라이버 로드
Class.forName("oracle.jdbc.driver.OracleDriver");
→ 드라이버 이름을 호출하여 DriverManager에 Dirver가 등록되고 Connection을 얻어 사용가능
- API를 사용해 로드한 클래스를 런타임 응용프로그램에 동적으로 바이딩 됨
- 동적으로 JDBC 드라이브 클래스를 로드하는것으로 지정한 드라이버 클래스가 객체화되고
동시에 자동적으로 DriverManger.registerDriver()을 호출해 DriverManager에서 관리하는 드라이버 리스트에
등록해 이루어짐
2. 데이터 베이스 연결
DriverManger.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "scott","tiger");
3. SQL을 위한 Statement 객체 생성
Statement stmt = conn.createStatement();
4. SQL 문장 실행
String sql = "select * from emp";
ResultSet result = stmt.executeQuery(sql);
5. 질의 결과 ResultSet 처리
while(result.next()){ →result는 테이블형태임
String col1= result.getString(1);
String col2= result.getString(2);
int col3 = result.getInt(3); }
6. JDBC 객체 연결 해제
result.close();
stmt.close();
conn.close(); - JDBC 기본클래스
패키지 | 클래스 | 클래스용도 | 메소드 |
java.lang | Class | 지정된 JDBC 드라이버를 런타임시 메모리에 로드 |
forName() |
DriverManager | 여러 JDBC를 관리하는 클래스로 데이터베이스에 접속해 연결 객체 반환 |
getConnection() | |
java.sql | Connection | 특정한 데이터베이스 연결상태를 표현하는 클래스로 질의할 문장 객체 반환 |
createStatement() |
Statement | 데이터베이스에 SQL질의 문장을 질의하여 그 결과 집합(ResultSet) 객체 반환 |
executeQuery() | |
ResultSet | 질의 결과의 자료 저장 | next(); getString(); getInt(); |
'JSP' 카테고리의 다른 글
221014_JSP_DBCP/ 게시판만들기 (0) | 2022.10.14 |
---|---|
221013_JSP_JDBC_국비_Connection Pool (0) | 2022.10.13 |
221011_JSP_국비_자바빈즈2 (0) | 2022.10.11 |
221010_JSP_국비_session/ cookie/ 자바빈즈 (0) | 2022.10.10 |
221006_JSP_국비_response/ application/ pageContext/ 액션태그 (0) | 2022.10.06 |