에서 MyBatis로 자동 매핑 resultType의 사용은 POJO 필드에주의를 지불하고 동일해야합니다 속성 이름을합니까 , 당신은 별칭 이름 속성과의 일관성을 보장하기 위해, 필드의 별명을 할 필요가없는 경우.
사용 된 resultMap 정의 결과 매핑을 수행 필드 이름은 다를 수 있습니다 , 당신은 표시 할 열을 지정할 수 있습니다 응용 프로그램을보다 유연뿐만 아니라 광범위한.
< 선택 이드 = "getUserList로" 된 resultMap = "userList 여기서" parameterType = "사용자" > U를 선택한다. * r.roleName가 smbms_user U, smbms_role R에서 u.userName는 ( '%'를 연결하고자 # {userName에}, '%를 ') 과 u.userRole = #} {userRole 및 u.userRole r.id = </ 선택 > < resultMap는 ID = "userList 여기서" 타입 = "사용자" > < 결과 속성 = "ID" 열 = "아이디" /> < 결과 속성 = "userCode를"열 = "userCode" /> < 결과속성 = '사용자 이름 " 열에 ='사용자 이름" /> < 결과 속성 = "전화" 열 = "전화" /> < 결과 속성 = "생일" 열 = "생일" /> < 결과 속성 = "성별" 열 = " 성별 " /> < 결과 속성 ="userRole " 열 ="userRole " /> <속성 결과 ="userRoleName '항목 = "roleName"/> </ 적인 resultMap >
위의 코드에서, 비상 테이블 쿼리는 한자에 대응하는 유저 명을 얻었다
적인 resultMap 요소는 자바 객체에 매핑을 설정 한 결과이 방법을 설명하는 데 사용되는 특히 POJO 필드 이름과 일관성이 데이터베이스에 이름을 속성 경우, 객체가 자유롭게 필요한 필드 된 resultMap 원하는 매핑을 보여주기 위해 여기에 사용됩니다.
데이터베이스의 열 특성 쿼리 필드 이름을 나타내는 자 노드 간단한 특성을 식별하기위한 대상물 결과, 상기 특성 값에 대응하는 필드에 할당 된 속성을 확인.
쿼리 MyBatis로 매핑하면 쿼리 중 각 필드 값은 해당 맵 내부에 배치되는 키 필드 이름, 해당 값의 값이고,. resultType이 맵은 지정된 타겟 resultType 해당 속성에 할당 된 키 - 값 쌍의 내부에 촬영 될 MyBatis로 할 때 선택 소자 반환형 속성이 제공 될 때 (즉, 속성 setter 방법은 충전 대응 물체라고 함). 이 때문에, 직접 배경 오브젝트의 대응하는 특성 값을 수신 할 수 resultType을 사용하는 경우 .
이것은 사실, 유형 반환 restultMap 매핑되는 각 쿼리를 MyBatis로, 것을 보여 주지만, 우리는 형의 속성이 제공됩니다 resultType 시간이 돌아 왔을 때, MyBatis로 자동으로 개체의 해당 resultType 지정된 속성에 값을 할당하면됩니다 우리는 이후 반환 유형 속성이 된 resultMap 시간을 제공하는 도메인 모델의지도 안 좋은 표현 , 당신은 물리적 객체에 대응에 더를 정의 할 필요가있다.
선택 소자의 MyBatis에서, 본질은 동일한 resultType이고 된 resultMap은지도 데이터 구조이다. 두 사람은 공존 할 수 없습니다 .
resultMap는 자동 매핑 수준
위의 코드는 된 resultMap에 매핑 백그라운드에서 정상적인 출력과 관련 된 resultMap 매핑 일부 속성과 관련된 있지만, 모든 속성의 smbms_user 테이블을 확인하지만, (같은 필드 이름 속성) 속성하지 않습니다. 자동 레벨 resultMap는 관련이 매핑 부분의 기본 매핑 수준 . 자동 매칭을 금지 NONE, 당신은 된 resultMap 관련된 속성에하지 매핑이 출력되지 원한다면, 그것은 MyBatis로 된 resultMap 자동지도 레벨 (autoMappingBehavior)을 설정할 필요가 없습니다. 다음과 같이
<? XML 버젼 = "1.0"인코딩 = "UTF-8" ?> <! DOCTYPE 구성 PUBLIC "- // mybatis.org//DTD 구성 3.0 // EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > < 구성 > <설정> <설정 이름 = " autoMappingBehavior "값 ="NONE "/> </ 설정> </ 구성 >