<!-- parameterType을 string으로 받아옴 -->
<select id="stringTest" parameterType="String" resultType="String">
<!-- parameterType을 int로 받아옴 -->
<select id="stringTest" parameterType="int" resultType="String">
<select id="stringTest" parameterType="String" resultType="String">
SELECT BEG_DE
FROM DBTEST.SM_POPUP
WHERE POP_SUB = #{popSub}
WHERE POP_SUB = #{value}
WHERE POP_SUB = #{iLoveMochi}
</select>
parameterType="String" 일 때 마이바티스 if문을 사용 시에 넘긴 파라미터명 그대로 사용하면 에러가 발생한다.
이유는 parameterType 안에 들어있는 클래스의 getter 메서드로 받아오는 방식인데, String은 getter 방식이 아니므로 에러가 발생한다.
<if>문을 사용할 경우 _parameter 를 활용한 매핑
<select id="stringTest" parameterType="String" resultType="String">
SELECT BEG_DE
FROM DBTEST.SM_POPUP
<if test="_parameter!= null and _parameter != ''">
WHERE POP_SUB = #{_parameter}
</if>
</select>
또는 DAO에서 @Pram 어노테이션을 통해서 파라미터의 변수명을 지정해주어야 한다.
String stringTest(@Param("popSub") String popSub);