1. DBConnector 클래스 getConnector 메서드 만들기
1) DB 연결 정보
String username = "" : DB의 ID
String password = "" : DB의 PW
String url = "" : DB의 IP:PORT:SID
String driver = "" : 사용하려는 DB의 Library (생략가능)
2) driver를 메모리에 로딩
- 1번에서 driver를 생략 했으면 생략 가능
Class.forName(driver);
3) DB 연결 및 Connection 객체 리턴
Connection con = DriverManger.getConnection(url, username, password)
return con;
2. DAO 클래스 정리
1) DB 연결
Connection con = dbConnector.getConnector
2) SQL Query문 작성
- 한개의 문자열이 나오도록 작성
- 끝에 ; 는 작성하지 않음
- 변수값은 ? 처리
- 컬럼명이나 테이블명은 ? 로 처리 할 수 없음
- 문자열 이나 날짜 Data 는 '' 생략
예시) String sql = "SELECT * FROM DEPARTMENTS WHERE DEPARTMENT_ID = ?"
3) 작성한 Query문을 DB로 미리 전송
- 미완성된 Query문을 DB로 보내서 실행 준비 시키기
예시) PreparedStatement st = con.prepareStatement(sql);
4) ? 값 적용
- DB에게 ? 값 전송 준비
- set데이터타입(인덱스번호, 값)
- 인덱스 번호는 ? 의 순서대로 자동 지정, SQL문을 읽는 순서와 상관 없음
- 인덱스 번호는 1번 부터 시작
예시) st.setInt(1, 10);
5) 최종 전송 후 결과처리
- executeXXX(SQL문을 넣으면 에러)
a. SELECT
ResultSet rs = st.executeQuery();
- Java에서 DB의 ResultSet을 처리하기 위한 ResultSet 제공
- 주요메서드
1) next()
- 결과물에서 한줄의 ROW를 읽고 데이터가 있으면 true, 없으면 false를 리턴
- 결과물에서 Data를 꺼내 오려면 무조건 실행
2) getXXX()
- next() 메서드가 호출된 후 사용 가능
- get데이터타입("조회결과의 컬럼명");
- get데이터타입(컬럼의 인덱스 번호) - SELECT 결과의 왼쪽부터 1이 자동 지정
b. INSERT, UPDATE, DELETE
int result = st.executeUpdate();
6) 연결 해제
- 연결된 역순으로 해제
rs.close(); //SELECT 만, INSERT UPDATE DELETE는 ResultSet이 없음
st.close();
con.close();
'웹개발 풀스택 과정 > Database(Oracle)' 카테고리의 다른 글
22일차(2022.01.21) _ Function 기본 - 그룹함수, 단일함수 기본 (0) | 2022.01.21 |
---|---|
21일차 SELECT문 실습 문제 (0) | 2022.01.21 |
21일차(2022.01.20) _ JDBC - DB와 JAVA 연결 (SELECT절 WHERE문 사용) (0) | 2022.01.20 |
21일차(2022.01.20) _ 명령어 DML - SELECT문 WHERE절 (0) | 2022.01.20 |
20일차 실습 _ LOCATIONS 테이블 Java에서 조회하기 (0) | 2022.01.20 |