@AllArgsConstructor //여기에 필드에 쓴 모든생성자만 만들어줌
@NoArgsConstructor //기본 생성자를 만들어줌
@Data // getter, setter 만들어줌
allArgsConstructor이 있으면 필드 수에 상관없이 자동으로 넣어주지는 않고
UserDTO(id,name,email,age,mobile,profile_image,gender,birthyear,birthday){
this.id=id;
이런식으로 this.email, age 다 만들어주는거임
}
package org.book.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor //여기에 필드에 쓴 모든생성자만 만들어줌
@NoArgsConstructor //기본 생성자를 만들어줌
@Data
public class UserDTO {
private String id;
private String name;
private String email;
private String age;
private String mobile;
private String profile_image;
private String gender;
private int birthyear;
private String birthday;
}
그런데 모든 생성자 중에 내가 몇가지는 값을 안넣어주잖아??
안넣은 것이 null값으로 들어가도 에러 안남.
왜냐면 mapper.xml에서 필요한 것만 update하기 때문에~~~!!
<update id="updateInfo">
update USERS set email=#{email}, birthyear=#{birthyear}, birthday=#{birthday}, mobile=#{mobile}
where id=#{id}
</update>
userDTO에 여러가지 필드가 있는데 값이 들어오는 것들만 set해줄거기때문에 ㄱㅊ음
이렇게 사용하거나
아니면 일일히 매개변수 수 맞게 생성자 만들어주기!