사용자가 요청 -> 응답 HTML파일
@Controller
사용자가 요청 -> 응답 Data
@RestConroller
Get
@RequestParam
Post
@RequestBody
lombok
@AllArgconstructor 생성자 생성
@NoArgsConstructor 빈 생성
@Data 게터세터 생성
@Builder 빌더패턴
생성자를 하나만 만들고 위에 어노테이션을 해주면 원하는 객체갯수를 상관없이 사용가능.
순서를 안 지켜도 된다.
@Controller
정적파일을 리턴, 동적파일을 리턴이 안되서 설정이 필요함.
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
@RestController
텍스트를 리턴
@Entity // User 클래스가 MySQL 테이블에 생성된다.
public class User {
@Id // Primary key
@GeneratedValue(strategy = GenerationType.IDENTITY) // 프로젝트에서 제작된 DB의 넘버링을 따라간다.
private int id; // 시퀀스, auto_increment
@Column(nullable = false, length = 30)
private String username; // 아이디
@Column(nullable = false, length = 100) // 123456 => 해쉬 (비밀번호 암호화, 넉넉하게 크기 잡아두기)
private String password;
@Column(nullable = false, length = 50)
private String email;
@ColumnDefault("'user'") // 양 옆으로 작은 따옴표를 줘서 문자라는 것을 알려줘야함
private String role; // Enum을 쓰는게 좋다. // admin, user, manager -> 도메인(프로그래밍에서 도메인은 범위를 의미)
@CreationTimestamp // 값을 비워두고 insert해도 시간이 자동 입력
private Timestamp createdTime;
}
@OneToMany(mappedBy="board")//mappedBy연관관계주인이 아니다.FK가 아님. 디비에 칼럼을 만들지 마세요.
참조
https://www.youtube.com/watch?v=6ynr-XAI-rk&list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm&index=20