유튜버 newlec쌤 강의보면서 정리함 + 구글링
오라클 디벨로퍼에서 쓴 쿼리문으로 db에 연결하기위해서 db api가 필요
db api: 쿼리 실행도구
여러 dbms중 특정 dbms에 연결하기 위한 코드들이 다 달라서
이것을 해결하기 위해 나온게 jdbc
jdbc는 여러 dbms를 사용할때 차이나는 db api부분을 단일화 시키는 도구를 제공함
jdbc는 깡통임 그냥 110v 220v 차이날때 중간에 껴주는 어댑터 같은 역할
그래서 결국엔 사용하는 dbms의 맞는 db api가 필요한데 그걸 jdbc 드라이버 라고부름
일단 jdbc가 없다면 다운받으셈(jdbc가 깡통이니까 실질적인 구동장치를 다운, 나는 오라클db라서 오라클 사이트 가서 다운받음)
C:\programs\oracleDB\WINDOWS.X64_193000_db_home\jdbc\lib
나같은경우는 여기에 ojdbc8.jar이 있어서 다운안받았음
jdbc를 따로 다운받았는지 아닌지 기억이 애매한데
아마도 오라클db받으면서 같이 받아진게 아닌가 함
1.프로젝트만들기
2.프로젝 - 빌드패스 - 컨피규얼 빌드패스 - 라이브러리 - add external jars
해서ojdbc8 넣으셈
그럼이제 Referenced Libraries - ojdbc8.jar가 생기는데
여기 안에 많은 라이브러리들을 이용할수있게됨
ui를 만들고 ui에서 사용자의 요구에 따라 데이터를 쿼리하거나 함 그때 jdbc 라이브러리를 이용
jdbc는 깡통이고 실제 구동 코드는 드라이버가 갖고있음
그래서 첫번째로 드라이버를 로드하자
1.Class.forName("oracle.jdbc.driver.OracleDriver");
이 메서드로 오라클.제디비씨.드라이버라는 패키지안에 OracleDriver라는 클래스가 있는데
이 클래스를 객체화 시키는게 로드다
근데 new 가 없음 Class.forName이란 특별한 유틸리티를 이용해서 객체화함
결국 메모리에 잡히게됨
2.Connection con = DriverManager.getConnection(...);
연결객체 얻기
연결해주는 메서드 ,연결해주면 연결상태를Connection 객체로 표현하여 반환
3.Statement st = con.createStatement();
객체생성
실행도구 생성
4.ResultSet rs = st.executeQuery(sql);
객체생성
쿼리를 실행한다음 결과를 얻어서 걔를 패치해올수 있는 도구 생성
전부다 new가 없다 1번은 설명했고
2번은 1번을 통해서 생성함
3번은 2번을 통해서 생성함
4번은 3번을 통해서 생성함
5.클라이언트에게 전달할 레코드를 담는 그릇이 ResultSet임
rs.next();해줘야만 클라이언트에게 커서가 가르키는 레코드가 전달됨
맨처음 커서는 BOF(Before of File) 마지막은EOF(End of File)
6.String title = rs.getString("title");
해주면 타이틀 컬럼에 해당하는걸 뽑아와줌
7.rs.close();
st.close();
con.close();
다했으면 마지막에 역순으로 닫아주자 (성능올라감)
