CH01 JDBC란 무엇인가?
SQL을 작성할 수 있는 사람들을 위한 쿼리 실행 도구는 DB Client 프로그램
SQL을 작성할 수 없는 사람들을 위한 쿼리 실행 도구는 업무용 프로그램
DBMS마다 각각의 API를 사용해서 프로그램을 연결하는것은 불필요하다
JDBC가 하나의 변압기 역할을 한다
이때 각DBMS의 API를 JDBC와 연결 할 수 있게 하는것이 JDBC DRIVER이다
CH02 DBMS와 DRIVER준비
압축파일 풀면 안되고 그대로 사용하기
CH03 JDBC 기본 코드의 이해
응용 프로그램(Application): 사용자가 원하는 작업을 수행하는 프로그램
JDBC(Java Database Connectivity): 자바(Java) 프로그래밍 언어에서 데이터베이스에 접근할 때 사용하는 API,
응용 프로그램이 데이터베이스와 통신할 수 있게 한다.
JDBC 드라이버: JDBC API 호출을 해당 DBMS가 이해할 수 있는 프로토콜로 변환하는 역할,
각 DBMS 제조사에서 제공하는 JDBC 드라이버가 존재한다
DBMS(Database Management System): 데이터베이스를 관리하는 시스템
DB(Database): DBMS를 통해 관리되며, 실제 데이터가 저장되는 곳
응용 프로그램은 JDBC를 통해 DBMS와 통신
JDBC는 JDBC 드라이버를 통해 DBMS와 통신
JDBC API Flow
1. Class.forName("oracle.jdbc.driver.OracleDriver");
2. Connection con = DriverManager.getConnection(url," ");
3. Statement st = con.createStatement();
4. ResultSet rs = st.executeQuery(sql);
5. rs.next();
6. String title = rs.getString("this");
7.close();
1->사용하고자 하는 드라이버 로딩
2->JDBC드라이버가 정상적으로 로딩되면 DriverManager가 Connection객체를 가져온다,
Connection은 db와 연결정보를 가지는 인터페이스, 즉 Connection객체는 인터페에스를 구현한 객체다
3->statement 객체 생성, statement는 작성된 sql을 db에 전송하는 방법을 정의한 인터페이스이다
4->쿼리 실행
5->쿼리가 실행된 후 결과파일에서 커서는 bof를 가리키고 있고, 다음 로우의 결과를 반환하는 코드
6->가져온 로우의 특정 값을 사용
7->사용한 객체를 역순(rs,state,connection)으로 닫아준다
CH04 쿼리 실행하기 실습
url : 어떤 데이터베이스에 들어갈지 결정
String url ="jdbc:oracle:thin:@localhost:1521/xepdb1";
INSERT할때는 테이블의 스키마에 맞춰서 하기
CH05 예제1
Date는 java.util로 가져오기
1-String이 아닌 형식은 어떻게 받을건지
2-반복문 사용해서 데이터베이스 끝까지 어떻게 출력할것인지
CH06 예제1 해설, 예제2
1-2 : while(rs.next()) 이렇게 사용하자
2-1 : 조회수가 10 이상인것들만 출력하기
CH07 예제2 해설
자바코드로 if 사용하면 결국 모든 데이터를 관찰해야한다
String sql = "SELECT * FROM NOTICE WHERE HIT> 10";
데이터 필터링,정렬,그룹화 등의 모든 데이터 연산은 데이터베이스에서 처리해야한다->그래야 연산횟수가 적어진다