Mapper namespace 와 ID를 직접 호출하여 조회하는 방법이다.
이 방법은 sqlSession을 이용해서 직접 호출하는 방식이다.
[Spring] Mybatis 에서 Mapper(매퍼) 연결하는 2가지 방법에 대한 선택 가이드.(링크)
마이바티스를 설정하는 것은 다음의 포스트를 참조
링크 : [Spring] Mybatis 설정하기 (기본설정)
바로 코딩을 보자
// 스프링의 어노테이션을 이용해 SqlSession을 주입하여 사용.
@Autowired
private SqlSession sqlSession;
// getTest를 이용해 쿼리를 조회하는 샘플
public HashMap<String, Object> getTest(Map paramMap, ModelMap model) throws Exception {
HashMap<String, Object> resultMap = new HashMap<String, Object>();
List resultList = null;
// 매퍼를 namespace와 ID를 이용하여 직접 호출.
resultList = (Integer)sqlSession.selectOne("com.kr.mapper.Test.getTest", paramMap);
resultMap.put("resultList", resultList );
return resultMap;
}
아래는 매퍼 파일이다.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="com.kr.mapper.Test">
<select id="getTest" parameterType="java.util.HashMap" resultType="java.util.HashMap">
/* query */
</select>
</mapper>
매퍼 파일을 살펴보면 namespace가 'com.kr.mapper.Test' 이고 select 중 id가 'getTest'이다. 이 두개의 문자열을 더하면 'com.kr.mapper.Test.getTest' 가 되고, 위의 자바에서
resultList = sqlSession.selectList("com.kr.mapper.Test.getTest", paramMap);
안에 "com.kr.mapper.Test.getTest" 과 동일하다.
주의할 점은 sqlSession.selectList 는 여러행일 경우. 단일행일 경우는 selectOne 등 상황에 맞게 써줘야 한다.
'공부 > 프로그래밍' 카테고리의 다른 글
[Spring] 익셉션 처리(@ControllerAdvice 사용) (0) | 2017.05.01 |
---|---|
[Spring] Mybatis 사용하기 (mapper를 interface를 이용하여 호출) (1) | 2017.04.20 |
[Spring] Mybatis 설정하기 (기본설정) (0) | 2017.04.20 |
[Spring] Mybatis 에서 Insert 시 자동 생성키 이용하기 (0) | 2017.04.20 |
[Spring] Mybatis 에서 Mapper(매퍼) 연결하는 2가지 방법에 대한 선택 가이드. (0) | 2017.04.20 |
댓글