ZUZU
30
2021-09-01 19:25:18
8
280

저좀 도와주시면안될까요.. mybatis resultType int 일때 자꾸 null 로 파라미터가 전송됩니다.


요기 이부분 보면 getKofacollectionListCount(keyMap) 이부분이 총 게시물 갯수를 세는 함수입니다. keymap에는 정상적으로 해당 데이터키값과 밸류값이 들어있어요(중단점으로 디버깅해보고 눈으로 확인했습니다.)

자꾸 파라미터를 hashmap에서 눈으로 똑똑히 봤는데 자꾸... 저기를 안탑니다.. 그리고 String 으로 hash 맵에서 값 빼내와서 string 으로넣어주고 parameter 타입도 String 으로 해줫는데 

해당 파라미터가 자꾸 null 로 나오네요..

resultType 이 문제여서 null 로 나올때도 있다고 들었는데 resultType 이 int 인건 뭐 문제가 없을테고.. int 로도 해보고 Integer 로도 해봤습니다..

근데 자꾸 parameter 가 null로 전달되요 (자바단에서는 hash map 에 파라미터가 담겼는데... mybatis 에서는 null로 뜹니다..)

도와주시면안될까요...제가 실력이 부족해서 질문하는것도 죄송스럽지만 새벽내내 붙잡고있고 그래도 안되서요.... 제가 질문하는것도 아직 뭘 모르고 어리석어서 질문도 이상하게 하는것같지만 그래도 한번만 봐주시고.. 도움을 주셨으면 좋겠습니다.. 

감사합니다..

0
  • 답변 8

  • 띵띵구리
    56
    2021-09-01 19:30:12

    하나씩 해보시죠. 지하철이라 상세히 못보겠는데

    일단 xml 에 조건문 다 지우고 순수히 값오는지부터 확인하면 그 후는 다 풀릴것같네요.


  • ZUZU
    30
    2021-09-01 19:47:27

    띵띵구리 님 xml에 조건문 다지우고했는데도 null로 인식합니다

  • 동생
    1k
    2021-09-01 20:40:31 작성 2021-09-01 20:40:45 수정됨

    parameterType="Integer"  resultType="java.util.HashMap"

  • Roroq
    2021-09-02 08:33:01

    제가 알기로는 _int 이렇게 써야 하는 거로 알고 있습니다

  • ZUZU
    30
    2021-09-02 09:12:49

    _int 로 해도안됩니다 ㅠㅠ

  • ZUZU
    30
    2021-09-02 09:27:33

    parameterType="Integer"  resultType="java.util.HashMap" 이러케하면 오류납니다 왜냐면 resultType이 return 하는 타입인데 게시물 갯수를 int 로 결과값을 받아야합니다..

  • ghjgre
    1k
    2021-09-02 12:28:56 작성 2021-09-02 12:30:41 수정됨

    NVL 함수는 왜 쓰신건가요? COUNT()를 쓰셨으니까 값이 없으면 0이 자동으로 나오지 않을까요..?

    그리고 returnType은 int가 맞습니다

  • ZUZU
    30
    2021-09-02 15:00:44

    @ghjgre 아 이게 널값으로 뜨면 특정값을 출력하려고 nvl 함수를 썻거든요.. 

    SELECT 

    COUNT(*)

    FROM

       TB_COLLECTION_INFO

       <if test='kofaCollectionListTitle != null and kofaCollectionListTitle != ""'>

    AND UPPER(C_COLLECTION_TITLE) LIKE '%' || UPPER(#{kofaCollectionListTitle,jdbcType=VARCHAR}) || '%'

    </if>

    <if test='kofaUseYn != null and kofaUseYn != ""'>

    AND ti.USE_YN = #{kofaUseYn,jdbcType=VARCHAR}

    </if>

    <if test='KofaGroupTitle != null and KofaGroupTitle != ""'>

    AND tf.C_COLLECTION_KOFA_GROUP_TITLE = #{KofaGroupTitle,jdbcType=VARCHAR}

    </if>

    이렇게 했는데 도 안되요 ㅠ... 

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