아래 코드를 참조해보자.
Mapper.java
public List<ReplyVO> getListWithPaging(
@Param("cri") Criteria cri,
@Param("bno") Long bno
);
Mapper.xml
<select id="getListWithPaging" resultType="org.zerock.domain.ReplyVO">
SELECT RNO, BNO, REPLY, REPLYER, REPLYDATE, UPDATEDATE
FROM TBL_REPLY
WHERE BNO = #{bno}
ORDER BY RNO ASC
</select>
MapperTests.java
@Test
public void tesetList() {
Criteria cri = new Criteria();
List<ReplyVO> replies = mapper.getListWithPaging(cri, bnoArr[0]);
replies.forEach(reply -> log.info(reply));
}
여기서 눈여겨볼 점은 Mapper.java에서 @Param의 역할이다.
일반적으로 Mapper에서 XML로 하나의 파라미터를 전달할 때는 @Param 없이 매개변수로만 전달이 가능하다.
그러나 다수 파라미터의 경우, Mybatis는 어떤 이름으로 XML에서 참조해야할지 알지 못한다.
아래처럼 @Param을 명시하지 않으면 각각의 파라미터를 #{param1}, #{param2}로 참조해야 한다.
이는 가독성이 크게 떨어지므로 @Param을 명시하여 사용하는 것이다.
@Param을 사용하지 않았을 경우
public List<ReplyVO> getListWithPaging(
Criteria cri,
Long bno
);
XML에서는 #{param1}, #{param2}로 받는다.
<select id="getListWithPaging" resultType="org.zerock.domain.ReplyVO">
SELECT RNO, BNO, REPLY, REPLYER, REPLYDATE, UPDATEDATE
FROM TBL_REPLY
WHERE BNO = #{param2}
ORDER BY RNO ASC
</select>
'Spring' 카테고리의 다른 글
스프링 - REST API 415 오류 (0) | 2025.06.26 |
---|---|
스프링 - Mybatis 동적 태그 (0) | 2025.06.14 |
스프링 - 스프링의 페이지 이동 방식 (0) | 2025.06.03 |
스프링 - Redirect 처리 관련 정보 (0) | 2025.06.03 |
스프링 - 웹에서 INSERT 할 때 한글 깨짐 문제 (0) | 2025.06.03 |