springboot(27)
-
[SpringBoot 구조] DTO 설명 및 정의 / 어노테이션
DTO 정의 클라이언트와 서버 간의 데이터 전송을 위해 사용되는 객체 데이터베이스에서 가져온 데이터나 서비스 간의 통신에 필요한 데이터를 담고 있는 객체 교환할 자료에 따라 여러 개로 구성해서 사용 필요한 데이터만을 포함하여 객체를 생성하므로, 불필요한 정보를 제외하고 필요한 정보만을 전송 가능 Entity와 1:1매칭할 필요 없음! DTO 구조 및 작성 방법 데이터를 담는 필드 기본 생성자와 필요한 생성자, getter 및 setter 메서드를 포함 @Data @Getter @Setter @Builder @AllArgsConstructor @NoArgsConstructor public class ProductDTO { private Integer productId; @NotEmpty(message = ..
2023.12.31 -
[Java+SpringBoot+JPA] 기본 CRUD 구현하기 (5) 검색 & 페이지 기능
보통의 게시판은 글번호 역순으로 나열이 되기 때문에 내림차순 정렬과 함께 페이지 번호, 검색기능을 추가 구현해 보겠다. 🟢 Repository 검색 조건을 추가해 준다. @Repository public interface ProductRepository extends JpaRepository { //상품명 @Query("SELECT p FROM ProductEntity p WHERE p.productName LIKE %:keyword%") Page findByProductName(@Param("keyword") String keyword, Pageable pageable); } 더보기 findAllBy 메서드 주어진 조건에 해당하는 모든 엔터티를 검색 반환 형식은 List이며, 조건에 해당하는 모든 결과..
2023.12.24 -
[Java+SpringBoot+JPA] 기본 CRUD 구현하기 (4) enum으로 카테고리 추가
💜 enum 정의 및 사용이유+방법 보러가기 [Java] 열거형 enum 사용 이유 및 사용 방법 enum 상수들의 집합을 정의하고, 해당 상수들을 사용하는 데 도움을 줌 클래스처럼 동작 필요에 따라 메서드, 생성자 등을 추가 가능 장점 - 코드의 가독성이 향상 - 코드에서 의미를 명확하게 전 dalhyehye.tistory.com 이번에는 enum을 활용하여 카테고리를 추가해보려한다. ▪ 카테고리 제작할 때, enum을 사용하는 이유 새로운 카테고리를 추가하거나 기존 카테고리를 변경할 때 코드 변경이 필요한 부분이 Enum 내에 집중되어 있어 유지보수가 용이하기 때문 🟢 CategoryTypeRole Constant 폴더에 CategoryTypeRole Class 생성 public enum Catego..
2023.12.24 -
[Java+SpringBoot+JPA] 기본 CRUD 구현하기 (3-1) required로 유효성 검사
💚 서버 측에서도 검증 수행하는 방법 [Java+SpringBoot+JPA] 기본 CRUD 구현하기 (3)검증 오류 추가 검증(Validation) 올바른 데이터인지 판별하는 것이 목적 전송된 데이터의 유효성을 검사하고, 오류 발생 시 각 레이어에서 적절한 조치를 취할 수 있다. 🟢 Entity 검증 오류를 추가하기 위해서는 dalhyehye.tistory.com 지난 포스팅에서 서버 측에서도 검증을 수행하는 방법을 포스팅했다. 보안상의 이유로 신뢰성 있는 검증을 위해서는 서버 측에서도 검증을 수행하는 것이 맞지만 클라이언트 측에서만 이루어지는 유효성 검사 방법도 있다. 🟢 required required 속성은 HTML 폼 요소에 사용되며, 사용자가 해당 필드를 반드시 입력해야 함을 나타냄 클라이언트 ..
2023.12.24 -
[Java+SpringBoot+JPA] 기본 CRUD 구현하기 (3)검증 오류 추가
검증(Validation) 올바른 데이터인지 판별하는 것이 목적 전송된 데이터의 유효성을 검사하고, 오류 발생 시 각 레이어에서 적절한 조치를 취할 수 있다. 🟢 Entity 검증 오류를 추가하기 위해서는 필드에 nullable=false를 선언하여 null 값이 들어가지 않도록 설정 @Entity @Builder @Getter @Setter @AllArgsConstructor @NoArgsConstructor @Table(name = "product") @SequenceGenerator( name = "product_SEQ", sequenceName = "product_SEQ", initialValue = 1, allocationSize = 1) public class ProductEntity exte..
2023.12.24 -
[Java+SpringBoot+JPA] 기본 CRUD 구현하기 (2)html
▪ layout 분리 [HTML]header, footer / fragments 이용하여 layouts 분리하기 layouts 폴더 layout.html fragments 폴더 header.html footer.html fragments 폴더 header.html 본문 내용 dalhyehye.tistory.com ▪ 기본 CRUD 구현하기 (1) java [Java+SpringBoot+JPA] 기본 CRUD 구현하기 (1)java 🟢 Entity - BaseEntity 여러 엔터티 클래스에서 상속받아 재사용할 수 있도록 설계 BaseEntity 클래스를 상속받는 하위 엔터티 클래스는 생성일(reDate) 및 수정일(moDate)을 자동으로 관리 @Getter @Setter @Mapp dalhyehye.t..
2023.12.23