resultMap 태그는 일반적으로 DTO클래스의 변수명과 DB 테이블의 필드명이 서로 일치 하지 않을 경우 사용한다
resultMap = (멤버변수 변수명 != DB테이블의 필드명)
resultMap 사용법
controller
@Controller
public class HomeController {
@Inject
SqlSession sqlSession;
@RequestMapping(value = "addlist", method = RequestMethod.GET)
public String addlist() {
System.out.println("addlist");
List<TestClass> list = sqlSession.selectList("list.selectlist");
System.out.println(list);
return "index";
}
}
TestClass
@Data
public class TestClass {
private String id;
private String pwd;
}
mapper.xml
<mapper namespace="list">
<resultMap type="com.ex.test.TestClass" id="ResultMap">
<id property="id" column="userid" />
<id property="pwd" column="userpwd" />
</resultMap>
<select id="selectlist" resultMap="ResultMap">
select * from test1
</select>
</mapper>
DB 테이블
test1 테이블
addlist 요청 화면
결과
TestClass클래스의 멤버변수와 test1 테이블의 필드명이 같지 않지만 resultMap태그를 이용하여 정상적으로 값이 입력된것을 확인 할 수 있따.
'Spring' 카테고리의 다른 글
Spring mybatis 값에 따른 쿼리 실행 (0) | 2020.05.09 |
---|---|
Spring mybatis 단일파라미터 전송시 no getter 에러 (0) | 2020.05.09 |
Spring mybatis를 통해 객체 안에있는 객체에 값 넣기 (0) | 2020.05.07 |
Spring Cannot create PoolableConnectionFactory 에러 (0) | 2020.05.06 |
Spring Mapped Statements collection does not contain value for 에러 (0) | 2020.05.05 |