본문 바로가기

IT/Spring + iBatis

2013.04.10. Spring-3 RowMapper



2013.04.10. Spring-3 RowMapper


rowmapper란?

template객체의 query메서드를 통해 결과값을 가져올 때, 

sql문에 따라 추출된 결과를 리턴받을 객체의 멤버변수에 적절하게 할당하기 위한 매핑수단.

기본적으로 RowMapper인터페이스를 implements하여 익명내부클래스로 생성해 사용하며,

코드가 중복되는 경우 RowMapper 구현클래스를 별도로 구현하여 코드중복을 제거할 수 있다.


<context:component-scan base-package=“com.kosta.board.controller”/>


@RequestParam을 활용한 데이터값 수신

@RequestParam(    

value : key 이름

required : 필수여부. false가 아닌 상태에서 요구된 인자가 넘어오지 않으면 에러가 발생함. default=true.

defaultValue : 자료값이 전달되지 않았을 때, 곧 null값일 때 대체하게 되는 인자에 대한 기본데이터값. )


@ModelAttribute을 이용한 메서드 호출

ex) @ModelAttribute(“abc”)

public String getMessage(){ return “byebye..” }

-> View에서 ${abc}로 호출가능.


View에 데이터 전달하는 방법

1. ModelAndView .addObject( key , value )

2. ModelMap .addAttribute( key , value )

3. @ModelAttribute( specificName )


validation.properties파일 한국어로 만드는 법 은 이클립스에서 자동으로 바꿔줌ㅋ

DosPrompt창에서 ‘native2ascii validation.properties validation_ko.properties’ 입력


1. DispatcherServlet

2. Handler Mapping

3. Controller 메서드호출 및 비즈니스로직 구현

    메서드호출시의 인자 :

    1) 커맨드객체 – 폼에서 POST방식으로 데이터를 전달받을 때.

    2) @RequestParam – GET방식으로 데이터를 전달받을 때.

    3) @ModelAttribte – View에 메서드명으로 데이터를 전달할 때. 뷰에서 메서드를 직접호출 가능.

4. ModelAndView :

    1) Key와 Value의 형태로 View로 전달할데이터를 입력함.

    2) 데이터를 출력할 View를 정해줌.

5. ViewResolver (p310)

6. View :

    1) ModelAndView

    2) @ModelAttribute

    3) Model객체의 Key / Value


DB Setting : JNDI Naming -> DataSource -> JdbcTemplate (Ibatis 연동시 IbatisTemplate)

DB 연계작업 :write/modify/delete - JdbcTemplate.update

   select - JdbcTemplate.query + (Sql, Object[], RowMapper)


Validate

1) Validator인터페이스 implements

2) @valid + Spring CustomTag 적용



솔직히 잘 안쓰는 부분은 무슨 말인지 잘 모르겠다 -.-; 

특히 RowMapper같은 경우는 지금도 개념은 기억하지만 쓰질 않으니..


뭐 ibatis SQL맵에서 매핑을 쓰니 기억하는 것일지도 ㅋㅋ