현재
[PP1] jpa + springboot + mysql (1)(게시물 등록,조회) 본문
<Controller>
@RequiredArgsConstructor
=>Autowired대신에 사용, final keyword만 생성자 초기화 시킨다
@ ModelAttributes(BoardDto boardDto)
=>Model에 추가해 view에서 사용가능하도록 한다.
<DTO>
@NoArgsConstructor
=>기본 생성자와 같음
@AllArgsConstructor
=>모든 매개변수를 field로 하는생성자
<Entity>
@Table(name = "board_table")
=> Table생성
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) // auto_increment와 같은 역할을 한다.
private Long id;
=>Id어노테이션 설정(필수),
public static 설정으로 Dto -> Entity 타입으로 바꾸는 전역설정?
public static BoardEntity toSaveEntity(BoardDto boardDto){
BoardEntity boardEntity = new BoardEntity();
boardEntity.setBoardWriter(boardDto.getBoardWriter());
boardEntity.setBoardPass(boardDto.getBoardPass());
boardEntity.setBoardTitle(boardDto.getBoardTitle());
boardEntity.setBoardContents(boardDto.getBoardContents());
boardEntity.setBoardHits(0);
return boardEntity;
}
@MappedSuperclass -> 다른 Entity에 상속시킬 수 있게 한다.
@EntityListeners(AuditingEntityListener.class) -> 필드가 변경사항이 있으면 동작한다?
@Getter
public class BaseEntity {
@CreationTimestamp -> 현재 시간을 자동으로 생성
@Column(updatable = false) -> 생성이후 업데이트 불가
private LocalDateTime createdTime;
@UpdateTimestamp -> 현재 시간을 자동으로 생성
@Column(insertable = false) -> 생성이후 삽입 불가
private LocalDateTime updatedTime;
}
<Repository>
public interface BoardRepository extends JpaRepository<BoardEntity,Long>{}
JpaRepository < 적용할 Entity, entity의 Pk 타입 >
repository api ?
- save(entity) : entity 타입을 db에 저장한다
- findAll() : repository의 있는 정보를 모두 찾음 List<Entity> 타입으로 가져온다.
'Java > 여러가지프로그램구현연습' 카테고리의 다른 글
| [PP1] jpa + springboot + mysql + react + EC2 + RDS + Docker(6) (최종 배포) (0) | 2024.05.02 |
|---|---|
| [PP1] jpa + springboot + mysql + react (5)(댓글 입력, 댓글 출력) (0) | 2024.04.12 |
| [PP1] jpa + springboot + mysql + react (4)(단일 사진저장, 사진출력 + 다중사진) (0) | 2024.04.10 |
| [PP1] jpa + springboot + mysql + react (3)(게시물 페이징 처리) (0) | 2024.04.09 |
| [PP1] jpa + springboot + mysql + react (2)(게시물 작성,수정,삭제) (0) | 2024.04.08 |