iliiliilil
436
2019-05-20 16:27:17
7
1704

Map으로 리턴받는데 Expected one result (or null) to be returned by selectOne(), but found: 38 에러나는 경우



안녕하세요. 컨트롤러에서 xml로 가져가는 내내


Map map = new HashMap();

map = 메소드호출();


이 형태로 가져가고

 <select id="" resultType="map"> xml에선 이렇게 불러오는데

왜 Map인데 selectOne을 가져오려고 하면서 에러가 날까요?????????

-2
0
  • 답변 7

  • 스우
    148
    2019-05-20 16:32:32
    selectone이면 row가 하나만 리턴되야 하는데 38개 리턴되서 그런거 아닌가요?
  • iliiliilil
    436
    2019-05-20 16:35:38
    네 그건 아는데 왜 selectOne이 발동되는 건지 모르겠어서요...map으로 리턴 받으려고 하는 거고 38줄 다 map에 넣어서 받고 싶은데ㅠㅠ
  • 초급개발자(오)
    511
    2019-05-20 16:38:45 작성 2019-05-20 16:39:10 수정됨

    db정보를 호출하는곳 (ex:DAO)에서 selectOne 으로 호출하신거 아니신가요?

  • 스우
    148
    2019-05-20 16:39:00 작성 2019-05-20 16:41:12 수정됨

    sql에 붙는 메소드에서 아마 sql.selectone("select아이디")로 받고 있을 것 같은데 list<map>이랑 selectlist를 쓰시면 안되는 사정이 있으신가요? mybatis resulttype map의 경우에는 하나의 row당 컬럼명을 key로 해서 key-value를 저장하면서 map 하나를 리턴합니다

  • iliiliilil
    436
    2019-05-20 16:41:58

    selectOne 안 썼어요..ㅠㅠ

    list<map> selectlist는 

    map을 list<map>으로 바꾸고 resultType="selectlist'로 바꾸면 되나요?? 해보겠습니다!

  • 스우
    148
    2019-05-20 16:43:49 작성 2019-05-20 16:44:05 수정됨

     아뇨아뇨 마이바티스 xml 설정은 건드리지 마시구 리턴값 받는 곳을 list<map>으로 바꾸신 다음에... 메소드호출() 부분 코드를 정확하게 모르니 더 이상 알려드릴 수가 없네요;

  • iliiliilil
    436
    2019-05-20 16:46:40

    헉 list<map>으로 하니까 됐어요ㅠㅠㅠ 감사합니다ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

  • 로그인을 하시면 답변 을 등록할 수 있습니다.