mybatis에서 프로시저를 실행하기 위해서는 {}안에 call구문을 써주면되는데 cursor를 반환 하는 경우가 있다 이때는 out파라미터를 사용해야하는데
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="mapper.notice">
<resultMap id="boardMap" type="Board">
</resultMap>
<select id="getTop5BoardList" parameterType="java.util.Map" statementType="CALLABLE">
{ call get_top5(
#{boardtype},
#{v_cursor, jdbcType=CURSOR, mode=OUT, javaType=java.sql.ResultSet, resultType=boardMap}
) }
</select>
</mapper>
#{v_cursor, jdbcType=CURSOR, mode=OUT, javaType=java.sql.ResultSet, resultType=boardMap} 실행결과에 관한 커서를 board클래스로 매핑해서 list로 출력한다.
DAO에서 실행할때는 selectList()하면 바로 커서의 내용을 List로 출력할 수있다.
@Override
public List<Board> getTop5BoardList(String boardtype){
Map<String, Object> map = new HashMap<>();
map.put("boardtype",boardtype);
List boardList = sqlSession.selectList("mapper.board.getTop5BoardList",map);
// List<Board> boardList = (List<Board>) map.get("v_cursor");
System.out.println(boardList);
return boardList;
}
'자바 웹을 다루는 기술' 카테고리의 다른 글
[스프링부트]html (0) | 2023.10.16 |
---|---|
[스프링 부트] 소셜 로그인, 스프링 시큐리티 (0) | 2023.10.12 |
0904 STS설치부터 27장 (0) | 2023.09.04 |
[Mybatis 설치, 설정 xml 파일] 23장 xml 파일에서의 동적쿼리문 (0) | 2023.08.31 |
[AOP][web.xml,action-servlet.xml 스프링] 책 20~21장 (0) | 2023.08.30 |