ibatis resultMap 문의
- 작성자 :
- 허*현
- 작성일 :
- 2015-05-08 15:32:20
- 조회수 :
- 1,377
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
안녕하세요.
DB에서 가져온 list를 for문을 돌면서 벼열에 값을 집어 넣을려고 합니다.
쿼리는
<!-- 소속팀 팀원 메일주소 -->
<select id="selectTeamMailaddr" parameterClass="String" resultClass="egovMap" >
SELECT
EMAIL
FROM DMS_MMBR
WHERE DPRTMNT = #dprtmnt#
AND MMBR_YN = 'N'
</select>
컨트롤러
//DB에서 이메일 가져오기
List<?> memberEmailAddr = memberService.selectTeamMailaddr(inventoryVO.getDprtmnt());
//리스트 갯수
int emailSize = memberEmailAddr.size();
//배열초기화
String[] memberEmailArry = new String[emailSize];
if(memberEmailAddr.size()>0){
for(int i=0; i <= memberEmailAddr.size(); i++){
memberEmailArry[i] = memberEmailAddr.get(i).toString(); <-----------------이부분에서 오류발생
System.out.println(memberEmailArry[i]);
}
}
배열에 넣는 과정에서 에러가나면서 404 에러메시지가 뿌려지고
system.out.println으로 찍은 부분은 {email=****@****.net} 이런식으로 {DB컬럼명=값}컬럼명이 붙습니다.
먼가 문법이 잘못된거같은데 도저히 모르겟습니다.
도움좀부탁드려요 ㅠㅠ
DB에서 가져온 list를 for문을 돌면서 벼열에 값을 집어 넣을려고 합니다.
쿼리는
<!-- 소속팀 팀원 메일주소 -->
<select id="selectTeamMailaddr" parameterClass="String" resultClass="egovMap" >
SELECT
FROM DMS_MMBR
WHERE DPRTMNT = #dprtmnt#
AND MMBR_YN = 'N'
</select>
컨트롤러
//DB에서 이메일 가져오기
List<?> memberEmailAddr = memberService.selectTeamMailaddr(inventoryVO.getDprtmnt());
//리스트 갯수
int emailSize = memberEmailAddr.size();
//배열초기화
String[] memberEmailArry = new String[emailSize];
if(memberEmailAddr.size()>0){
for(int i=0; i <= memberEmailAddr.size(); i++){
memberEmailArry[i] = memberEmailAddr.get(i).toString(); <-----------------이부분에서 오류발생
System.out.println(memberEmailArry[i]);
}
}
배열에 넣는 과정에서 에러가나면서 404 에러메시지가 뿌려지고
system.out.println으로 찍은 부분은 {email=****@****.net} 이런식으로 {DB컬럼명=값}컬럼명이 붙습니다.
먼가 문법이 잘못된거같은데 도저히 모르겟습니다.
도움좀부탁드려요 ㅠㅠ
A
안녕하세요. 표준프레임워크 센터입니다.
올려주신 내용을 확인해보니 ibatis에서 resultClass를 egovMap으로 사용하셨는데 해당 클래스는 Map형태의 클래스 입니다.
( egovMap에 관한 정보는 자주묻는 질문을 참조하시길 바랍니다.
링크 : http://www.egovframe.go.kr/uss/olh/faq/FaqInqireCoUpdt.do?menu=4&submenu=5 )
따라서 memberEmailAddr에 List<Map>형태로 조회결과를 가져오기 때문에 toString()만으로는 email 값을 불러오질 못합니다.
예시) memberEmailAddr.get(i).get("email");
예시처럼 list안에 map의 value를 가져오는 방법으로 수정해보시길 바랍니다.
감사합니다.
올려주신 내용을 확인해보니 ibatis에서 resultClass를 egovMap으로 사용하셨는데 해당 클래스는 Map형태의 클래스 입니다.
( egovMap에 관한 정보는 자주묻는 질문을 참조하시길 바랍니다.
링크 : http://www.egovframe.go.kr/uss/olh/faq/FaqInqireCoUpdt.do?menu=4&submenu=5 )
따라서 memberEmailAddr에 List<Map>형태로 조회결과를 가져오기 때문에 toString()만으로는 email 값을 불러오질 못합니다.
예시) memberEmailAddr.get(i).get("email");
예시처럼 list안에 map의 value를 가져오는 방법으로 수정해보시길 바랍니다.
감사합니다.