MyBatis 매개변수 유형이 String일 때 자주 발생하는 문제 및 해결 방법
다음 Dao 인터페이스 방법이 있다고 가정해 보세요.
public Account findByAccountType (String type)throws DaoException;
대응하는 마퍼.xml
<select id="findByAccountType " parameterType="string" resultType="account">
select *
form account
<where>
<if test ="type != null">
type=#{type}
</if>
</where>
</select>
일반적으로 우리는 이런 식으로 쓰는데 다른 유형에 대해서는 맞지만 String을 위해 던지는 이상은 다음과 같다.There is no getter for property named 'type ' in 'class java.lang.String'
왜냐하면 MyBatis는 매개 변수가 String이면 인터페이스 방법의 인삼이 무엇이든지 Mapper에 있어야 하기 때문이다.xml에서 참조할 때 _로 변경해야 함parameter 만이 인식할 수 있습니다.
<select id="findByAccountType " parameterType="string" resultType="account">
select *
form account
<where>
<if test ="_parameter!= null">
type=#{_parameter}
</if>
</where>
</select>
2. 문자열 매개 변수를 동일하게 비교할 때의 문제오류:
<if test="_parameter == '1' ">
type=#{_parameter}
</if>
정확:
<if test='_parameter == "1" '>
type=#{_parameter}
</if>
<if test="_parameter == '1'.toString() ">
type=#{_parameter}
</if>
주: 상술한 문제는 위에서 말한 것은 편집자가 여러분께 소개한 MyBatis 매개 변수 유형이 String일 때 흔히 볼 수 있는 문제와 해결 방법입니다. 여러분께 도움이 되었으면 합니다. 만약에 궁금한 점이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 여러분에게 회답할 것입니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL/마이바티스 | 동적 쿼리 사용A라는 서비스에 해당하는 테이블을 조인하고 조회하는 데 사용됩니다. 나중에 공통화를 위해 B 및 C 서비스도 추가됩니다. A, B, C 서비스는 모두 단일 쿼리에서 작동할 수 있도록 공통화되어야 합니다. 테이블에 각...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.