목차
파라미터 하나를 보냈는데
There is no getter for property named 'name' in 'class java.lang.String' 라는 오류가 뜰 때,
int getList(String name);
<select id="getList" resultType="vo">
SELECT
count(*)
FROM
table
WHERE
id = #{name}
</select>
방법 1. #{name} 을 다음과 같이 #{value} 로 변경해주면 된다.
<select id="getList" resultType="vo">
SELECT
count(*)
FROM
table
WHERE
id = #{value}
</select>
방법 2. getter 가 있는 VO를 만들어 파라미터로 넘긴다.
getter 는 다음과 같이 만들 수 있다.
1. 롬복lombok 이용하기
@Getter
public myVO{
private String name;
}
2. 직접 만들기
public myVO{
private String name;
public String getName(){
return this.name;
}
}
mapper.xml 에는 그대로 #{name} 으로 작성
<select id="getList" parameterType="myVO" resultType="vo">
SELECT
count(*)
FROM
table
WHERE
id = #{name}
</select>