🚩 JPA 주의할 점
- 실행 시 Bean 중복 오류가 날 수 있다. 해당 포스팅의 3번을 참고한다.
src
└── main
├── java
│ └── 베이스 패키지
│ └── ...
│ ├── bo
│ │ └── 테이블명BO.java
│ ├── entity
│ │ └── 테이블명Entity.java
│ ├── repository
│ │ └── 테이블명Repository.java
│ └── Controller.java
└── webapp
└── WEB-INF
└── jsp
└── ...
├── 페이지명1.jsp
├── 페이지명2.jsp
└── ...
1) 주요 어노테이션
@Controller(JSP 경로 리턴->HTML)/@RestController(객체 리턴->JSON, String 리턴->HTML)@RequestMapping("공통 요청 URL")@Autowired@RequestMapping(path = "요청 URL", method = RequestMethod.GET)/@GetMapping("요청 URL")@RequestMapping(path = "요청 URL", method = RequestMethod.POST)/@PostMapping@RequestMapping("요청 URL"): @RequestParam("요청 파라미터명")@RequestParam(value = "요청 파라미터명", required = false, defaultValue = "기본값")@ModelAttribute2) 주의 사항
auto_increase 속성을 가진 필드는 자동 생성되므로 삽입하지 않는다.?⭐️key⭐️=1 <-> (Controller 내부 메소드의 파라미터) @RequestParam("⭐️key⭐️") int id123org.springframework.ui.Model에서 import 한다.${obj.key} 혹은 ${key}로 가져온다.return "redirect:재요청 보낼 주소"로 작성한다.@ResponseBody 작성 후 String을 반환한다. (해당 포스팅 참고)3) 권장 사항
1) 주요 어노테이션
@Service@Autowired2) 주의 사항
3) 권장 사항
1) 주요 어노테이션
2) 주의 사항
3) 권장 사항
1) 주요 어노테이션
@ToString: 클래스에 대한 toString() 메서드를 생성@AllArgsConstructor: 모든 필드에 대한 매개변수가 있는 생성자 생성@NoArgsConstructor: 매개변수가 없는 생성자 생성@Builder(toBuilder = true): Builer는 클래스에 대한 빌더 패턴 제공. toBuilder는 빌더를 복제할 수 있는 메소드를 생성하도록 하는 옵션(update 시 사용)@Getter: 모든 필드에 대한 getter 메서드 생성@Entity: 클래스가 JPA 엔터티임을 표시@Table(name = "테이블명"): 엔터티의 데이터베이스 테이블에 대한 이름을 지정@Id: 엔터티의 기본 키@GeneratedValue(strategy = GenerationType.IDENTITY): 기본 키를 자동으로 생성하도록 지정@Column(name="컬럼명", updatable=true): 카멜케이스로 작성된 필드에 작성. 엔터티 필드를 데이터베이스 테이블의 컬럼에 매핑. updatable=true는 생략 가능.@UpdateTimestamp: 엔터티가 업데이트될 때마다 현재 타임스탬프로 필드를 채우도록 표시2) 주의 사항
createdAt의 경우 새로운 레코드가 삽입될 때만 값이 설정되어야 하므로 @Column(name="컬럼명" updatable=false)로 작성한다.3) 권장 사항
🚩 가독성을 위해 import 문은 제외했습니다.
1) Controller
2) Service(= BO)
3) Repository(= DAO, Mapper)
4) Entity(= Domain, Model)
5) JSP