요구 사항 : 사용자의 사용자 정보와 주소 목록을 가져옵니다
참조 모음을 추가 할 사용자 개체 클래스를 수정합니다.
/ **
* 박멸 사용자 ID,이 역할의 주소 정보를 얻을
파라미터 : 사용자 ID
* @return
* /
공공 사용자 getUserListAddressByUserID (@Param ( "사용자 ID") 정수 사용자 ID);
<된 resultMap 타입 = "사용자"ID = "userAddressList">
<ID 속성 = "ID"열 = "ID"/>
<속성 = "userCode '항목 ="userCode을 "결과 />
<속성 결과 ="사용자 이름 "열에 = "사용자 이름"/>
<속성 결과 = "userRole '항목 ="userRole "/>
<! - 동일 재사용하기 위해 참조 목록 컬렉션 클래스 사용자 클래스가, 그 결과적인 resultMap 컬렉션 소자 밖에 언급 사용하여 매핑 될 수있다, > -이 사용의 관계는 동일
"AddressList의로"<= 컬렉션 재산권 ofType = "주소" >
<속성 ID = "ID"열 = "B_ID"/>
<대지 결과 = "연락처"열 = "연락" />
<속성 결과 = "addressDesc '항목 ="addressDesc "/>
<결과 속성 ="TEL "열 ="TEL "/>
</ 수집>
</ 된 resultMap>
<SELECT ID = "getUserListAddressByUserID"된 resultMap = "userAddressList"parameterType = "정수">
선택 a. * b.id b_id, b.contact, b.addressdesc, b.tel smbms_user A로부터, B smbms_address 같은 곳을 a.id = b.userid 및 a.id = # {사용자 ID}
</ 선택>
. 1 패키지 cn.smbms.pojo; 2 . 3 가져 오기 java.util.Date; . 4 가져 오기 를 java.util.List; . 5 . 6 개 공용 클래스 사용자 { 7. 개인 정수 ID; // ID . 8 개인 문자열 userCode; // 사용자 코드 . 9 개인 userName에 문자열; // 사용자 이름 (10) 개인 문자열있는 userPassword; // 사용자 암호 (11) 개인 정수 성별; // 섹스 12 개인 날짜 생일; // 생년월일 (13) 개인 문자열 전화; // 전화 (14 개) 개인 문자열 주소; // 주소 15 개인 정수 userRole; // 사용자 역할 (16) 개인 정수 createdBy; // 창조자 (17) 개인 날짜에서 CreationDate; // 만든 18 개인 정수 modifyBy; // 갱신 (19) 개인 날짜 ModifyDate; // 업데이트 (20) 개인 역할의 역할; // 사용자 역할 (21) 개인 목록 <주소> AddressList의; //一个用户有多个地址列表 22 23 24 25 공개 목록 <주소> getAddressList () { 26 반환 AddressList의; 27 } 28 공공 공극 setAddressList (목록 <주소> AddressList의) { 29 이 .addressList = AddressList를; 30 } 31 공용 역할 getRole () { 32 반환 역할; 33 } 34 공공 공극 setRole (역할 역할) { 35 이 .role =역할; 36 } 37 공용 정수 getId () { 38 반환 ID; 39 } 40 공공 공극 setId (정수 ID) { 41 이 .ID = ID; 42 } 43 공용 문자열 getUserCode () { 44 반환 userCode; 45 } 46 공공 공극 setUserCode (문자열 userCode) { 47 이 .userCode = userCode; 48 } 49 공공 문자열 getUserName 메서드 () { 50 창 사용자 이름 : 51 } 52 공공 공극 setUserName (문자열의 userName) { 53 이 .userName = userName에; 54 } 55 공용 문자열 getUserPassword () { 56 반환 userPassword에; 57 } 58 공공 공극 setUserPassword (userPassword에 문자열) { 59 이 .userPassword = userPassword에; 60 } 61 공용 정수 getGender () { 62 반환 성별; (63) } 64 공공 공극 setGender (정수 성별) { 65 이 .gender = 성별; 66 } 67 대중 날짜 getBirthday () { 68 반환 생일; 69 } 70 공공 공극 setBirthday (생일 날짜) { 71 이 .birthday = 생일; 72 } 73 공용 문자열 getPhone () { 74 반환 전화; 75 } 76 공공 무효 setPhone (문자열 전화) { (77) 이 잘한다 = 전화; 78 } 79 공용 문자열 getAddress에 () { 80 개 리턴 어드레스; 81 } 82 공공 공극 setAddress (문자열 주소) { 83 이 .address = 주소; 84 } 85 공용 정수 getUserRole () { 86 반환 userRole; 87 } 88 공공 공극 setUserRole (정수 userRole) { 89 이 .userRole = userRole; (90) } 91 공용 정수 getCreatedBy () { 92 반환 createdBy; 93 } 94 공공 공극 setCreatedBy (정수 createdBy) { 95 이 .createdBy = createdBy; 96 } 97 공개 일자 getCreationDate () { 98 반환 에서 CreationDate; 99 } 100 공용 공극 setCreationDate (날짜에서 CreationDate) { 101 이 .creationDate = 에서 CreationDate; 102 } 103 공개정수 getModifyBy () { 104 창 modifyBy; 105 } 106 공용 공극 setModifyBy (정수 modifyBy) { 107 이 .modifyBy = modifyBy; 108 } 109 공개 일자 getModifyDate () { 110 창 modifyDate; 111 } 112 공용 공극 setModifyDate (날짜 modifyDate) { 113 이 .modifyDate = modifyDate; 114 } 115 }
1 @Test 2 공개 공극 testGetUserListAddressByUserId () { 3 SQLSESSION SQLSESSION = 널 ; 4 목록 <사용자> 여기서 userList = 새로운 ArrayList를 <사용자> (); 5 사용자 사용자는 = 새 사용자 (); 6 시도 { 7 SQLSESSION = MyBatisUtil.createSqlSession (); 8 9 10 사용자 = sqlSession.getMapper (UserMapper. 등급 ) .getUserListAddressByUserID (1 ); 11 12 } 캐치(예외 E) { 13이다 // : 예외 핸들 TODO 14 ; e.printStackTrace () 15 } 최종적 { 16 MyBatisUtil.closeSqlSession (SQLSESSION) 17. } 18은 속성 클래스 // 제거 역할이되는 19 logger.debug는 ( " 역할 ID testGetUserListByRoleId "user.getUserCode + () +"와 사용자 이름 : "user.getUserName + () +"와 userRoleName : "+ 11111111) (20)는 라인 // 문구 콘솔에 있기 때문에, 손실되지 않습니다 로그 아웃이다 클래스에 대한 역할 속성 : ( "testGetUserListByRoleId 역할 ID (21) // logger.debug을 + user.getUserCode () +"및 사용자 이름 : ""+ user.getUserName () + "와 userRoleName". + user.getRole () getRoleName ()); 22 (주소 주소 : user.getAddressList ()) { 23 logger.debug ( "testGetUserListAddressByUserId에 들어갔을 때 :"+ address.getContact () + "와 addressDesc :"+ address.getAddressDesc () + "및 전화 :"+ 주소. getTel ()); } 24 25 26 }