반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

JDBC - View, Controller, DAO, JDBC 객체 및 처리 순서, Statement 특징 본문

⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆/JDBC

JDBC - View, Controller, DAO, JDBC 객체 및 처리 순서, Statement 특징

yeonee 여니 2023. 6. 16. 21:23
728x90
반응형
SMALL

안녕하세요.

https://blog.naver.com/sysysy0302 여니입니다 :)

 

 

View : 사용자가 보게될 시각적인 요소를 담당(화면 => 입력,출력)
  ex) html페이지

 

 * Controller : View를 통해서 요청(request)한 기능을 처리하는 담당
   해당 메소드로 전달된 데이터들을 가공처리(VO 객체로 래핑)한후 Dao메소드 호출시 전달
   Dao로부터 반환받은 결과에 따라 사용자가 보게될 화면을 지정 => 응답(response)

 

DAO (Data Access Object)
  Controller를 통해서 호출
  Controller에서 요청 받은 실질적인 기능을 수행하기 위해서
  DB에 직접적으로 접근(Access)후 해당 sql문을 실행하고 결과를 돌려받기 => JDBC

 


 

* JDBC용 객체 - Connection : DB의 연결정보를 담고 있는 객체(IP주소, PORT번호, 계정명, 비밀번호) -
 * (Prepared)Statement : 해당 db에 sql문을 전달하고 실행한 후 결과를 받아내는 객체 - ResultSet : 만일
 * 실행한 SQL문이 SELECT문일 경우 조회된 결과들이 담겨있는 객체
   
 * JDBC 처리 순서 
 * 1) JDBC Driver 등록 : 해당 dbms가 제공하는 클래스 등록 
 * 2) Connection 생성 : 접속하고자하는 DB정보를 입력해서 DB에 접속하면서 생성 
 * 3) Statment 생성 : Connection 객체를 이용해서 생성 
 * 4) SQL문을 전달하면서 실행 : Statement 객체를 이용해서 sql 문 실행 > SELECT문일 경우 - executeQuery()
 * 메소드 사용 > 나머지 DML문일 경우 - executeUpdate() 메소드 사용 
 * 5) 결과값 받기 > SELECT 문일 경우 -
 * ResultSet 객체로 받기(조회된 데이터들이 담겨있음) => 6_1) > 나머지 DML문일 경우 - int형 변수로 받기(처리된 행의
 * 갯수가 담겨있음) => 6_2)
 * 
 * 6_1) ResultSet 객체에 담긴 데이터들을 하나씩 뽑아서 VO 객체에 담기(반환된 데이터가 여러개 라면 ArrayList로 묶어서
 * 관리) 
 * 6_2) 트랜잭션 처리(성공했다면 == 반환된 행의 갯수가 0이 아니라면 COMMIT, 실패시 ROLLBACK) 7) 다쓴
 * JDBC용 객체들을 반드시 자원반납해주기(close) => 생성된 순서의 역순으로 담기 8) 결과값을 Controller로 반환해주기 >
 * select문일 경우 6_1)에서 만들어진 결과 > 기타 DML문일 경우 - int현 값 (처리된 행의 갯수)
 


 * Statement특징 : 완성된 sql문을 실행할수 있는 객체

728x90
반응형
LIST