2021. 4. 20. 23:10ㆍJDBC 공부
오늘부터는, JDBC 에 대해서 배워 볼 겁니다 ~
JDBC
JDBC 는, "데이터베이스(오라클)" 와 "자바" 를 같이 사용할 수 있도록 해주는 라이브러리 입니다.
정확히는, 이클립스. 자바에서 데이터베이스를 사용할 수 있도록 해주는 것 입니다.
즉. API 중 1개 입니다.
그러려면, 먼저 이 JDBC 라는 것을 다운로드 해주어야 겠죠?
※ oracle을 다운로드 하셨다면, oracle 경로 안에 포함이 되어 있으니, 다운받지 마세요
www.oracle.com/database/technologies/appdev/jdbc-downloads.html
위의 링크에 들어가서, 사용하고 있는 oracle 의 버전에 맞게 다운로드를 해주면 됩니다.
이미 oracle을 다운로드 하셨다면, oracle 경로에 이미 다운로드 되어 있습니다.
여기에 있는 ojdbc8.jar 를 사용할 겁니다 !
이제 준비가 되었다면, 이클립스를 실행해주세요.
새 프로젝트를 만들어 줍시다. or 기존 프로젝트에 사용해도 됩니다.
프로젝트를 만들고, 프로젝트에 마우스 우클릭을 한 후, Build Path -> Configure Build Path 를 눌러 주세요.
Libraries 탭을 클릭한 후 -> Add External JARs... 를 클릭해서, ojdbc8.jar 를 가져 옵니다.
ojdbc8.jar를 잘 찾아서, 가져왔다면, Apply and Close 를 눌러주세요 !
그러면, 해당 프로젝트에 아래와 같이 만들어진 게 확인이 되실 겁니다. 그러면 완료 !
그럼 이제, 사용해 봅시다 !
class를 만들어 주세요
데이터베이스 연결하기
1. 데이터베이스 연결에 필요한 변수선언 ( 대소문자 주의 )
- 연결주소형식:정해진이름:@아이피주소:포트번호/데이터베이스명
정해진이름 -> jdbc.oracle.thin ( 오라클의 정해진 이름. ) / 데이터베이스 마다 정해진 이름이 있다고 합니다.
아이피주소 -> @localhost ( 내 pc의 ip주소. ) / 원격 데이터베이스에 접속할 경우. 그 ip주소
포트번호 -> 1521 ( 내가 설정한 데이터베이스의 포트번호 ) / 처음에 oracle을 다운로드 할 때 설정했던 포트번호
데이터베이스명 -> XEPDB1 ( 현재 oracle을 XEPDB1 데이터베이스에서 사용중 )
2. 드라이버 로드(호출) / 대소문자 주의
※ 여기서부터 전부 try catch 구문 안에서 사용해 주세요.
실제로, 외부 라이브러리로 불러왔던 ojdbc8.jar 파일을 열어보면 아래와 같은 경로에 드라이버가 있습니다.
3. Connection객체 생성 - DriverManger클래스가 제공하는 getConnection(주소, 아이디, 비밀번호)
여기까지 진행 하였을 때, conn을 출력했을 때 아래와 같이 나오면 문제 없는 것 입니다.
이렇게, 출력이 정상적으로 이루어 졌다면, 출력문은 지워 주세요.
4. Statement객체 생성 - connection객체로 부터 생성
pstmt은 매개변수로 실행항 sql문을 받습니다.
sql문이 틀렸을 경우에, 오류가 나도 어떤 오류인지 알려주지 않는다고 하니 자신 없으면 sqldeveloper 등에서 미리 사용해보시기 바랍니다.
5. sql문 쿼리 실행 - select문은 executeQuery()로 실행, insert, update, delete문은 executeUpdate()구문 실행
6. select문의 실행 결과가 하나라도 존재하면, ResultSet의 next()메서드는 true반환합니다.
위의 sql문은 여러행을 가져오는 것 이기 때문에, next() 메서드로 행을 1개씩 가져올 수 있습니다.
그래서, 다음 행이 없을 때까지 반복문 while을 사용해서 안에있는 데이터들을 꺼내올 수 있습니다.
7. 마지막으로, 사용한 conn, pstmt, rs 를 close() 해주세요.
위와 같이 코드를 작성했을 때 정상적으로 실행이 되었다면, 데이터베이스에 저장된 데이터들이 출력이 됩니다.
이렇게, JDBC 를 사용하는 방법에 대해서 알아 보았습니다.
고생하셨습니다.
p.s : try catch 를 사용하는 것이기 때문에, 선언은 try catch 밖에서, close는 finally 에서 해주는게 좋습니다.
'JDBC 공부' 카테고리의 다른 글
Day47 - INSERT, UPDATE, DELETE클래스로 분해하기 (0) | 2021.04.21 |
---|---|
Day46 - SELECT 클래스로 분할하기 (0) | 2021.04.21 |
Day46 - select , insert , update (0) | 2021.04.20 |