진행순서
1. 기본 세팅 [ 도구 세팅, 메인클래스 세팅, 커넥션 얻기 세팅 ]
2. 회원가입 구현 - 실제 테스트
3. 로그인 구현 - 실제 테스트
4. close 작업해주기
기본세팅
1. 사용하는 도구들 따로 만들어주기
2. 메인 클래스 기본 세팅
3. 커넥션 얻어오기 - DB 접속 클래스 만들어주기
## 커넥션 얻기 메서드 체크
- static으로 해주었고
- Connection 타입 반환하게 해 주었다.
- return con 필요했고 - 그래서 try문 바깥에 Connection con 선언 위치 조정
//파일에다가 ip, port, url 이런 연결 정보들을 저장
//파일에서 읽어 들여서 연결하는 식으로 실무
//당연히, 파일은 각자 본인 환경에 맞게 가지고 있으면 됩니다.
//그리고, 파일은 깃허브에 올리면 안 되겠죠? => 깃 이그노어
### 회원가입 기능 구현
## 회원가입 담당할 member클래스에서 작업
1. join() 메서드 생성 후 --- 기본 세팅 --- 입력받기
2. 회원가입 가능 여부 판단 --- 아이디 중복검사
2-1 db에서 아이디 조회
2-2 조회 결과 rs.next = true; [ 실패 처리 ]
2-3 조회 결과 rs.next = false; [ DB 저장 - insert 쿼리 ]
2-4 최종 아무것도 안 걸리면 실패 false 반환하도록 세팅
코드 끝!!
## 회원 가입 진행해보기
1. DB에서 테이블 임의 설정
2. java에서 회원가입 진행해보기
+ db에서 잘 입력되었나 테이블 확인~
회원가입 끝!
## 로그인 기능 구현
1. id / pwd 입력받기
2. 디비에서 id 있나 조회해보기
id로 조회하기 // executeQuery() 한 거 체크
3. id의 조회 결과에 따라 처리
- 결과가 있다 == rs.next() = true --> db의 pwd와 입력한 pwd 비교 - 같으면 성공
- 결과가 없다 == 로그인 실패
코드 끝!
## 로그인 진행해보기
## 메인에서 로그인 테스트!
1. DB 준비
2. JAVA에서 로그인 실행해보기
로그인 끝!
## CLOSE 작업해주기
1. 사용한 애들 반납해주는 close 작업이 필요하다.
- [ Connection , Statement , PreparedStatement, ResultSet ]
- close를 해주기 위해 변수 선언 위치를 try/catch 문 바깥쪽으로 변경해 주고
- finally{ } 추가해서 close작업해줄 것이다.
- 각각의 것들은 close 작업하기 전에 NULL 인지 체크 필요
2. 단지 close 작업 필요한 것인데... 너무 번거롭고 길어졌다.
- 해결 방법은?
- Close 메서드를 만들어 주자!
- DB 커넥션을 가져오기 위해 만들었던 OracleDB 클래스에 close 메서드를 만들어준다.
##CHECK
- 메서드 오버 로딩을 통한 메서드 구현 !!
- PreparedStatement 는 따로 안 만들어줘도 부모인 Statement에 걸려서 처리된다!
- close(PreparedStatement 는 필요 X
3. OracleDB.close() 메서드 사용해서 finall 문 수정!
REVIEW
드디어 로그인 기능을 구현해보았다
감격 ㅜㅜ
JAVA와 DB를 이용해서 회원가입을 하고 로그인을 해보았다
아직은 낯선 부분도 많고 잘 안된 부분도 있긴 하지만 ;)
JAVA - JDBC - DB를 같이 사용해본 첫 작업 ㅜㅜ
드라이버 등록 / 커넥션을 얻고 -
이 커넥션을 이용해서 필요한 작업을 수행!
이런 식으로 다른 작업도 응용해서 사용하는 것 같다.
앞으로 자주 사용할 흐름과 로직이니까
새로운 내용들 체크 잘해놓고 숙지해놓자!
후후 나도 이제 회원가입 / 로그인 처리 가능!! 크크
## CHECK POINT
STATEMENT의 불편함과 문제점을 대비
- PreparedStatement 사용 -
PreparedStatement 실행 시 - 쿼리를 실행해서
resultSet을 가져오는 것인지
또는 작업이 잘 이루어졌나 결과를 확인하는 것인가에 따라서
executeQuery() 와 executeUpdate() 선택해서 사용
여러 곳에서 사용하는 도구는 클래스 하나 해서 따로 만들어서 사용
기능 동일 / 매개변수 다름 => 메서드 오버 로딩 통해 구현해주기
'Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원 > 5월' 카테고리의 다른 글
22.05.26 - 게시판 기능 구현 [ 등록, 목록 조회, 상세 조회 ] (0) | 2022.05.30 |
---|---|
22.05.25 - [뷰, 제약조건, 시퀀스 ] - VIEW, CONSTRAINT, SEQUENCE (0) | 2022.05.27 |
22. 05. 23 - 3차 시험! - 데이터베이스 구현 test (0) | 2022.05.25 |
22. 05. 20 - JOIN [ INNER, OUTER ] 집합연산자(UNION, INTERSECT, UNIONALL, MINUS ) (0) | 2022.05.24 |
22. 05. 19 - 함수 사용해보기, GROUP BY, 서브 쿼리 (0) | 2022.05.22 |