안녕하세요.
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문을 실행할수 있는 객체
'⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆ > JDBC' 카테고리의 다른 글
JDBC - JDBC_Statement(Member) (0) | 2023.06.20 |
---|---|
JDBC - JDBC_Statement(MemberView) (0) | 2023.06.20 |
JDBC - JDBC_Statement(MemberDao) (0) | 2023.06.20 |
JDBC - JDBC_Statement(MemberController) (0) | 2023.06.20 |
JDBC - Connection, Statement, PreparedStatement, ResultSet, Service, JDBCTemplate 개념 및 특징 (0) | 2023.06.20 |