1. 서블릿단으로 사용자한테 입력받은 아이디, 패스워드 전달해서 값 추출하기
2. 값 가공해서 서비스단으로 가공한 값 넘기기
3. mybtis 프레임워크 이용하여 SqlSession()객체 생성하고 dao단으로 서브릿단에서 가공처리한 Member와
방금 생성한 SqlSession()가지고 dao단으로 전달
4. Dao에서 아까 서비스단에서 만들어온 SqlSession으로 selectOne메소드로 쿼리문을 실행하고
Member 객체를 전달한다. => 위치홀더 채울값
5. memeberMapper의 실행시킬 쿼리문
* SELECT 문의 경우
<select id="각 sql문들의 식별자" parameterType="전달받을 자바타입(풀클래스명) 혹은 별칭" resultType="조회결과를 반환하고자하는 자바타입" 또는 resultMap="조회결과를 뽑아서 매핑할 resultMap의 id">
SQL문
</select>
=> parameterType 속성은 전달받을 값이 없다면 생략 가능하다.
=> 반드시 resultType(자바에서 제공하는 자료형) 또는 resultMap(내가 만든 VO클래스 타입)으로 결과값에 대한 타입을 지정해야 한다.
=> 왜냐? 항상 SELECT는 결과가 다를 수 있으니까 ex) count(*)정수 조회
* DML문의 경우 어차피 실행결과가 처리된 행의 갯수(int)이기 때문에 resultType 또는 resultMap안써도됨
* 대신에 해당 sql문에 전달된 객체로부터 값을 꺼내서#{필드명 또는 변수명 또는 map의 키값} -->
* resultMap : 마이바티스의 핵심 기능 중 하나 ResultSet으로부터 조회된 컬럼값을 하나씩 뽑아서 내가 지정한 VO객체에 각 필드에 담을 수 있다.
<resultMap id="식별자" type="조회된 결과를 담아서 반환하고자 하는 VO객체의 타입(풀클래스명) 또는 별칭"> <result column="조회결과를 뽑고자 하는 DB컬럼명" property="해당 결과를 담고자 하는 필드명"/>
<result column="조회결과를 뽑고자 하는 DB컬럼명" property="해당 결과를 담고자 하는 필드명"/>
........................................
</resultMap>
6. 다시 dao로 조회한 결과의 Member객체 담아서 서비스단으로 리턴
7. 결과값 전달받은 서비스단은 다시 서블릿(컨트롤러)단으로 결과값 전달
8. 서블릿단에서 응답페이지 지정해주기
9. 응답페이지에서 el로 값 꺼내기
'*servlet & jsp* > myBatis' 카테고리의 다른 글
[myBatis] 댓글달기 / 페이징처리 (0) | 2022.02.13 |
---|---|
[myBatis] 게시글 상세보기 / 댓글달기 (0) | 2022.02.12 |
[myBatis] 페이징처리 (0) | 2022.02.11 |