1. JDBC - Java DataBase Connectivity
자바에서 오라클DB를 연동시키고 싶을 땐 어떻게 해야할까?
그럴 때 사용하는 것을 JDBC라고 한다.
위키 백과에서 정의한 JDBC는 아래와 같다.
JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다.
JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다.
자바와 DB를 연결하려면 해당 드라이버가 필요하다.
오라클 DB 연결 드라이버(.jar)는 해당 사이트에서 다운받을 수 있으며 만약 오라클 DB서버가 설치되어 있다면 오라클 DB 설치 폴더에 내장이 되어있다.
2. Dynamic Web Project
기존에는 자바 프로젝트로 프로젝트를 생성했지만 이렇게 하면 DB와 연동할 수 없다.
DB를 연동하기 위해선 자바 내에서만 사용하는 프로젝트가 아니라 통합 환경의 프로젝트가 필요한 것이다.
그래서 우린 아래와 같이 Web 항목으로 이동하여 프로젝트를 만들 것이다.
자바와 DB를 연결하기 위해선 Dynamic Web Project로 프로젝트를 하나 만들어보자.
기본적으로 설정되어있는 대로 생성을 해주었다.
자바 작업파일인 .java들이 저장이 되는 곳은 src/main/java에 모인다.
그리고 자바의 클래스 파일(.class)들이 저장이 되는 곳은 build/classes에 모인다.
프론트단의 파일들(.html .css .js .jsp)은 scr/main/webapp에 모인다.
3. 패키지 만들기
이제 패키지를 만들려고 한다.
여기서 패키지의 경로가 중요하다!
위에서 언급했던 것처럼 자바 파일들이 저장될 곳(src/main/java) 안에서 패키지를 생성하는 것이 중요하다.
4. Dynamic Web Project와 DB 드라이버 연동시키기
이제 DB의 드라이버와 자바 프로젝트를 연동시켜보자.
오라클과 자바는 명확히 서로 다른 프로그램이다.
이 서로 다른 두 프로그램을 연동하기 위해서는 오라클에서 제공하는 드라이버가 필요하다.
자바는 그저 판을 깔아줄 뿐이다.
우리가 OracleDB와 연동하고 싶다면 오라클에서, MariaDB와 연동하고 싶다면 마리아에서 제공하는 드라이버를 받아오면 된다.
필자는 Oracle 11g를 사용하고 있기 때문에 설치 경로를 따라 가서 ojdbc6.jar 파일을 옮겨주었다.
이클립스에서도 정상적으로 들어갔는지 확인했다.
복사-붙여넣기를 해도 보이지 않는다면 Reflesh / Validate / Project -> Clean 을 해주자.
5. 자바와 오라클 DB 연결하기
이제 자바와 오라클DB를 연결해보기 위해서 클래스를 하나 만들었다.
DB와 관련된 것들은 java.sql. 클래스에서 제공하는 클래스나 메서드로 이루어지기 때문에 임포트까지 한 후 작업하려 한다.
1) 오라클 DB 서버 연결 관련 정보 입력하기
오라클 DB 서버를 연결하기 위한 정보들을 우선 선언해준다.
필요한 정보들로는 서버의 위치인 url, 그리고 서버에 로그인하기 필요한 id와 password, 그리고 마지막으로 driver이다.
- 서버 위치 : jdbc:oracle:thin:@localhost:1521:xe (오라클 서버를 불러오는 문법 + 내 PC의 서버)
- 서버에 로그인 하기 위한 id와 password : system / 1234
- 드라이버 : oracle.jdbc.driver.OracleDriver
String url = "jdbc:oracle:thin:@localhost:1521:xe"; // == "127.0.0.1"
String user = "system";
String password = "1234";
String driver = "oracle.jdbc.driver.OracleDriver"; // ojdbc6.jar
2) 드라이버 로딩하기 & 서버 연결하기
이제부터는 기계적인 작업의 반복이다.
구현되어있는 문법을 활용하여 드라이버를 로딩하고 DB서버까지 연결했다.
// 2) 드라이버 로딩
Class.forName(driver);
// 3) 오라클 DB 서버 연결
DriverManager.getConnection(url, user, password);
이렇게 하고 run을 하여 Java에서만 우선 구동을 시키면 잘 되는 것을 확인할 수 있다.
그런데 이런 작업들은 너무나 기계적인 작업이면서도 만약 비밀번호가 바뀌게 되면 코드가 모두 틀어지는 결과가 나게 된다.
그래서 이러한 정보들을 메서드로 만들어서 관리하는 방법이 있으며 이는 추후에 배워볼 예정이다.
'⁂ Java > : JDBC - Java DataBase Connectivity' 카테고리의 다른 글
[JAVA] JDBC #3-1 자바로 페이징하기 (0) | 2022.09.22 |
---|---|
[JAVA] JDBC #2-2 CRUD(Create, Read, Update, Delete) : R (1) | 2022.09.22 |
[JAVA] JDBC #2-1 CRUD(Create, Read, Update, Delete) : C,U,D (1) | 2022.09.21 |