반응형
DTO 클래스 또는 VO 클래스의 클래스 변수들의 이름을 데이터베이스의 컬럼명과 동일하게 해주어야
resultType이 DTO 또는 VO 일때, 해당 클래스로 반환된다.
예시
- DTO 클래스
@Data
public class UserDTO {
private String user_email;
private String user_pw;
private String user_pwCnf;
public String getUser_email() {
return user_email;
}
public void setUser_email(String user_email) {
this.user_email = user_email;
}
public String getUser_pw() {
return user_pw;
}
public void setUser_pw(String user_pw) {
this.user_pw = user_pw;
}
public String getUser_pwCnf() {
return user_pwCnf;
}
public void setUser_pwCnf(String user_pwCnf) {
this.user_pwCnf = user_pwCnf;
}
}
- Mapper.xml
<mapper namespace="com.home.mapper.LoginMapper">
<sql id="userColumns">
user_email,
user_pw
</sql>
<select id="selectUser" parameterType="com.home.DTO.UserDTO" resultType="com.home.DTO.UserDTO">
SELECT user_email, user_pw FROM tbl_user
WHERE user_email= #{user_email, jdbcType=VARCHAR} AND user_pw= #{user_pw, jdbcType=VARCHAR}
</select>
</mapper>
resultType 이 UserDTO인데,
데이터베이스 컬럼명과 UserDTO 클래스의 변수명이 다르면 값이 존재해도 null 값이 반환된다....
이걸 잊고 엉뚱한데서 한참을 해맸다...
반응형
'Programming > Mybatis' 카테고리의 다른 글
[Mybatis] Oracle foreach insert 처리 에러 (0) | 2022.02.16 |
---|---|
[Mybatis] Mapper resultType 정리 (0) | 2021.11.30 |
[Mybatis] ParameterType List, Map 처리 (feat. foreach구문) (0) | 2021.11.26 |