javajobo1
322
2021-01-06 17:06:09
5
143

mybatis 오류 질문입니다.


Parameter 'userId' not found. Available parameters are [0, 1, param1, param2]

오류가 뜨는데 이유가 뭔가요? 매개변수 두 개 넣었는데 이유를 모르겠습니다.


컨트롤러 입니다.

userDao.updateToken(createJwt.createToken(returnDto.getUserId()), returnDto);

DAO 입니다.

public void updateToken(String createToken, UserDto dto);

XML 입니다.

<update id="updateToken" parameterType="map">
		<![CDATA[
			UPDATE jwttest
			SET userToken = #{userToken}
			WHERE userId = #{userId}
		]]>
	</update>

@Param을 해도 오류가 뜹니다.

답변해 주시면 감사하겠습니다.

0
  • 답변 5

  • Obzect
    2k
    2021-01-06 17:09:22

    parameterType="map" 받는 파라미터 타입은 맵이고

    던져주는 파람은 updateToken(String createToken, UserDto dto);

    UserDto dto VO class 같은데 저걸로 던져주네요


  • daeyong4385
    64
    2021-01-06 17:09:31

    userId를 못찾는다고 하는데 선언이 잘못된게 아닌가 싶네요

  • javajobo1
    322
    2021-01-06 17:14:17

    답변 감사합니다

    parameterType을 지워도 똑같은 오류가 뜨는데 다른게 잘못된 걸까요?

    dto에서 복붙해서 써봐도 오류가 납니다 ㅜ

    이거 답글 기능은 어떻게 하나요??

  • rezigrene
    1k
    2021-01-06 17:18:46

    https://stackoverflow.com/questions/24968088/how-can-i-pass-multiple-parameters-and-use-them

  • javajobo1
    322
    2021-01-06 17:30:41
    모두 답변 정말정말 감사합니다~!
  • 로그인을 하시면 답변을 등록할 수 있습니다.