목록프로젝트 (17)
상똥이의 Back-End 공부방
[0. 추출하는 이유와 방식] 1. 추출하는 이유 - Article.class, Article.Comment에는 공통적으로 들어가는 필드들이 있다. - Id, createdAt, creatredBy, modifiedAt, modifiedBy 등 - PK인 Id를 제외한 메타데이터 종류의 공통적인 필드들을 클래스 내에서 제거하면 코드를 간단히 할 수 있다. 2. 추출 방식 (1) @MappedSuperClass : 상속(extends)기반 구현 (2) @embedded [1. MappedSuperClass 기반 구현] (1) 경로 /main/java/프젝/domain에 AuditingFields.class 추가한다 (2) 클래스에 @MappedSuperclass 어노테이션을 삽입한다 (3) Article...
목차 1. select 테스트 2. insert 테스트 3. update 테스트 4. delete 테스트 [1. select 테스트 케이스 작성] 1. 존재하는 게시글, 댓글의 개수를 확인한다 (select) - 테스트 함수의 이름은 givenTestData_whenSelecting_thenWorksFine() //아무 이름이나 상관없다 (1) @DisplayName 어노테이션 삽입 : 괄호 안에 "select test"로 이름 붙여주기 (2) @Test 어노테이션 삽입 (3) articleRepository를 통해 Articleclass의 엔터티 형식을 갖추는 게시글 개수(row, cardination)를 findAll() 메서드로 List articles에 저장한다. (4) articleComment..
목차 1. 랜덤 데이터 생성 후 sql파일에 삽입 2. repository 생성 3. 테스트 클래스 준비 [1. 랜덤 데이터 생성] - 랜덤 데이터를 생성해주는 사이트는 많지만 mockaroo를 이용해보기로 한다 - 전에 생성한 ERD를 참조하여 생성한다 - 노란색 표시에 유의하여 생성 - MySQL이 설치되어있어야 함 1. article 테이블 데이터 (1) title : 짧은 문장이므로 Sentence (2) content : Paragraphs (3) hashtag : Color, Null값을 허용하므로 blank=20% 설정 (4) createdAt, modifiedAt : Datetime중에서도 SQLtime으로 설정해야 오류가 발생하지 않는다 (5) createdBy, modifiedBy : ..
목차 1. Entity 구성 2. Entity 기본 기능 구현 3. 동일성 검사 [1. Entity 구성] 1. JPA 연동 - 자동화를 위해 JPA를 연동해야한다. 한다 (1) board_practice 패키지 안에 config 패키지를 만든다 (2) config 패키지 안에 클래스 JpaConfig를 만든다 (3) Jpa를 활성화하기 위해 이름 또는 타입을 기반으로 필요한 빈을 찾아 자동으로 반환 하는 @EnableJpaAuditing을 클래스 전체에 삽입한다. 엔티티가 데이터베이스에 저장되거나 업데이트될 때 생성 시간과 수정 시간을 자동으로 입력시켜준다. (4) AutoAwared를 사용해 엔터티의 생성자와 수정자를 자동으로 가져와야 하는데 이 메서드는 @Bean을 사용해야 한다. (5) 지정된 클..
목차 0. MySQL Community가 설치되어있어야 한다 1. 프로젝트에 DataSource를 추가 2. 프로젝트용 데이터베이스를 생성 3. properties 작성하기 [1. 프로젝트에 Data source 추가하기] 1. intelliJ화면 왼쪽 위 view → Tool windows → Database → +(New) → MySQL 2. Data source properties 설정 (1) Name : @localhost (2) Coment : local db (3) Host : localHost (4) Port : 3306 (5) Password : MySQL설치시 지정한 비밀번호 입력, 없다면 상태로 두기 (6) User : root 3. 아래 Test Connection을 클릭해 연결되는지..
목차 1. ERD 작성 2. 자바 클래스에 도메인 표현 [1. ERD작성] 1. 테이블을 Article(게시글), ArticleComment(댓글) 두 가지로 생성한다 - 게시글 테이블의 pk는 작성자 id로 설정한다 - 게시글에는 제목, 내용, 해시태그 등의 속성이 필요하다 - 게시글에는 생성일시, 생성자, 수정일시, 수정자 등의 메타데이터가 필요하다 - 댓글 테이블의 pk는 작성자 id로 설정하고 fk는 게시글 작성자 id로 설정한다 - 댓글에는 내용 등의 속성이 필요하다 - 댓글에는 생성일시, 생성자, 수정일시, 수정자 등의 메타데이터가 필요하다 2. ERD 작성 (1) draw.io (diagrams.net) 에 들어가서 새 다이어그램 만들기 클릭 (2) ER다이어그램 선택 후 생성 (3) 파일 ..
목차 1. 간단한 계획 설명 2. 사용할 기능 (dependency) 준비 3. usecase 작성 4. api 설계 [1. 간단한 계획 설명] - IntelliJ Ultimate과 Spring Boot 그리고 MySQL을 사용해 게시판을 제작할 것이다 - 로그인 기능, 게시글 작성 및 수정 기능, 댓글 작성 및 수정 기능, 게시글 검색 기능, 해시태그 기능을 구현할 것이다 [2. 사용할 기능(dependency) 준비] 1. Spring Initializr에 들어가 프로젝트를 생성한다 - Project : Gradle-Groovy - Language : Java - Spring Boot : 3.1.3 - Java : 17 2. 사용할 기능들을 추가한다 (1) Web 관련 dependencies - Sp..
목차 0. 프로젝트 간단 설명 1. 프로젝트를 업로드할 Git 세팅 2. kanban board를 활용한 업무 일정 관리 3. Repository와 project board 연동 [0. 프로젝트 간단 설명] - 자바, 인텔리제이, 마이에스큐엘, 스프링 부트로 게시판을 제작한다 - 깃에 업로드하며 만드는 과정을 깃허브의 칸반보드로 관리한다 [1. 프로젝트를 업로드할 Git 세팅] 1. Git에 가입되어있어야 한다 2. Repository 세팅 (1) Git 화면에서 Repositories로 들어가 오른쪽 상단의 new 를 눌러 새로운 Repository를 추가한다 (2) 이름은 Board-practice로 설정 후, public으로 생성한다 (3) README 파일도 추가해준다 (내용도 알아서 편집하기) ..