반응형
Notice
Recent Posts
Recent Comments
Link
NOW OR NEVER
[JAVA] JDBC(Java DataBase Connection Programming) 본문
반응형
JDBC(Java DataBase Connection Programming)
- 자바가 데이터베이스에 연결하여 데이터베이스 명령어를 실행하는 프로그램
- 프로그램에서 자동으로 데이터베이스에 연결하여 위에서 만든 데이터 베이스 명령어 sql을 동작하도록 함
- 순서
- 미리 준비 : oracle이 설치된 폴더에서 jdbc 드라이버를 복사하여 java 설치 폴더로 새로 경로 지정
- 1. ojdbc 복사(아래 둘 중 하나의 경로에서)
- 시스템 환경 변수 편집 - 고급 - 환경변수 - 시스템 변수 - Path - 편집- product\버전이름dbhome 해당 주소 복사- 탐색기에 붙여넣기-jdbc폴더ojdbc 복사
- C:\app\User\product\21c\dbhomeXE\jdbc\lib
- 2. 복사한 ojdbc 위치 선정
- C:\Program Files\Eclipse Adoptium\jdk-11.0.14.101-hotspot\li에 ojdbc 붙여넣기
- eclips 프로젝트이름에서 마우스 오른쪽 - Properties - Java Build Path - Libraries - Claspath - Add External JARS - ojdbc8,jar 경로 설정
- oracle db를 사용할 자바 프로젝트에서 마우스 오른쪽 키 눌러서 class path에 ojdbc 경로 지정
- 1. ojdbc 복사(아래 둘 중 하나의 경로에서)
- 1. jdbc 드라이버를 메모리로 로드한다.
- Class.forName("oravle.jdbc.driver.OracleDriver");
- 2. db 서버에 연결한다.
- Connection 객체이름 = DriverManager.getConnection("jdbc:oracle:thin:@ip주소:port번호(1521 or XE)","사용자계정","비밀번호");
- 3. 데이터베이스 명령을 실행하기 위한 객체 생성
- Statement 객체이름 = conn.createStatement(sql명령어들은변수);
- PreparedStatement 객체이름 = conn.prepareStatement(sql명령어들은변수);
- sql명령어 작성 시 입력값이 들어가는 자리에 ?로 대신할 수 있다
- ex)String sql = "insert into room(r_no, r_type, fee)"+
"values(?,?,?)";
- ex)String sql = "insert into room(r_no, r_type, fee)"+
- ?가 있는 sql를 실행시키기 위해서는 PreparedStatement를 이용
- sql명령어의 ?의 순서대로 값을 설정합니다.
- 자료형에 따라 문자열의 경우 PreparedStatement객체.setString(물음표위치,값), 정수의 경우PreparedStatement객체.setInt(물음표위치,값)
- sql명령어 작성 시 입력값이 들어가는 자리에 ?로 대신할 수 있다
- 4. 데이터베이스 명령 실행
- statement객체.executeUpdate(데이터베이스 명령어 담은 변수이름);
- executeUpdate : 데이터베이스에 변경이 있는 명령을 실행할 때 사용, 성공적으로 명령을 수행한 레코드 수를 반환한다.
- executeQuery : 데이터베이스로부터 읽어오는 명령을 실행할 때 사용
- preparedStatement객체.executeUpdate();
- preparedStatement 실행시에 sql을 매개변수로 전달하지 않는다. sql을매개변수로 전달하면 ?가 결정되지 않은채로 sql을 실행하려 한다.
- statement객체.executeUpdate(데이터베이스 명령어 담은 변수이름);
- 5. 사용이 끝난 자원 닫기
- Statement객체.close();
- preparedStatement객체.close();
- Connection객체.close();
- 미리 준비 : oracle이 설치된 폴더에서 jdbc 드라이버를 복사하여 java 설치 폴더로 새로 경로 지정
Tips
- jdbc 프로그래밍 중 IO 오류 해결 방법
- The Network Adaptor could not establish the connection
- 리스너 확인
- 오라클 포트 확인 : 나의 경우 계속 연결 오류가 나서 1521로 지정한 후 자바 내에서도 1521로 포트 설정함
- 참고 링크
'Back-End > JAVA' 카테고리의 다른 글
[Spring] Spring boot로 Spring project 생성 (0) | 2022.06.02 |
---|---|
[Spring] 스프링 MVC 기초 (0) | 2022.05.27 |
[JAVA] Network Programming (0) | 2022.04.14 |
[JAVA] Thread (0) | 2022.04.13 |
[JAVA] GUI(Graphical User Interface) (0) | 2022.04.12 |