지도로 된 resultMap 사용자 지정 쿼리 결과

에서 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 "/> 
    </ 설정> 
</ 구성 >

 

추천

출처www.cnblogs.com/yanguobin/p/11698675.html