0) 오라클SQL 에서 CLOUDMEMBER TABLE 생성(로그인 기능 사용을 위해 미리 만들어둠..) - 해당 내용은 여하에 따라 안해도 됨.
1) 이클립스에서 메인 클래스 생성
위 그림과 같이 try-catch 문으로 예외 처리해준다.
- try 구문
- -> 예외가 발생할 수도 있지만, 우선 시도해보는 구간!
- catch 구문
- -> 예외가 발생했을때, 어떤 로직을 수행할지 작성하는 구간!
- -> catch() 안의 매개변수는, 어떤 예외 상황을 잡아줄껀지 기술하는 공간!
- e.printStackTrace();
- 예외상황이 왜 발생했고, 어디서 문제가 나고 있는진
출력해주는 구문! --> e.printStackTrace() 개발을 할때 사용함!- -> 배포할때는 삭제하는 것이 좋음!
프로젝트에 처음으로 JDBC 적용시
아래 내용 반드시 따라하기 !! ↓
준비물 3가지 (위 그림 참조)
되도록 2번을 선택하여 catch문을 추가해 주는 것이 좋으나, 이번의 경우는 모든 예외처리가 가능한 경우로 작업, 다음과 같이 변경
Exception으로 모든 예외처리로 변경함.
위 그림처럼 Connection conn 변수에
DriverManager.getConnection(url, user, password); 를 대입해줌 (리턴타입이 Connection 임!)
이후 연결처리 확인을 위해 조건문 사용 결과 확인!
(예시) 추가할 수 있는 sql구문 작성
- id -> smhrd
- pw -> 12345
- name -> 이도연
- age -> 20
- score -> 50
String sql = "INSERT INTO CLOUDMEMBER
(ID, PW, NAME, AGE, SCORE) VALUES (?, ?, ?, ?, ?)";
전송하기 전에 sql문을 담아서 전송 할 수 있는 형식으로 변경
PreparedStatement psmt = conn.prepareStatement(sql);
? 인자 채우는 작업! (반드시 실행전에 진행할 것!!)
SQL 구문에 따라 사용 메소드가 다르다.
(C : INSERT , R : SELECT , U : UPDATE , D : DELETE)
C,U,D -> int row = psmt.executeUpdate();
(executeUpdate() : insert, update, delete 에만 사용한다.)
R -> rs = psmt.executeQuery();
(executeQuery() : select에만 쓰고, 매개변수 없는 것 사용)
sql 구문에 따라 종류가 달라지며 크게
객체의 자원을 반납해줘야 한다.
그럼으로 try 영역 내 배치하기
SELECT문으로 테이블 조회시 필요한 정보를 가져오려면
- rs = psmt.executeQuery();
rs을 참조하여 가져올 수 있다.
(예) 회원의 이름을 가져올 경우
- tring name = rs.getString("name");
getString("컬럼명")으로 사용할 수 있다.
가져올시 데이터 타입에 맞춰 가져와야 한다.
인터페이스 이전 교육 내용 : 링크