Tekies Community 백엔드 만들기 -2

노문택·2022년 1월 22일
0

오늘은 전에못햇던 LOMBOK셋팅을 해볼까한다.

나중에 어디서쓰냐면..

Dto를 나중에 만들게된다면

private final String TCId;
getTCId(){
대충 반환한다는내용
}

이러한 파트를 롬복을 설정을한다면

@Getter
@RequiredArgsConstructor
class {
private final String TCId;
}

하면 끝이다.

인텔리j lombok 플러그인을 추가하고

build.gradle에 dependecies 에 추가해준다..

    implementation('org.projectlombok:lombok')

1.com.tc.springbookt package 생성후 거기에 관리를 해야겠다.
그안에 application class생성후 SpringBootannotation을 이용해 기본 메인을 생성한다.

package com.tc.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Ctrl + Shift + F10 을눌러 이제 확인하자

자 그럼 이제 주의사항에 대해 알아보자

이 메인 파일은 최상단에 위치해야됨 여기서부터 설정을 읽기때문 또한 스프링부트 자동설정 및 Bean등 자동으로 설정을 해줌

이제 메인을 설정했으니 MVVM 구조를 이용하여 개발할 예정이니 이제 컨트롤러와 서비스를 설정해주고 프론트와 번갈아가면서 개발을 할 예정이다.

간단한 프로젝트로 진행할 예정이므로 로그인과 회원가입 그리고 자유게시판 까지 구현할 예정이다.

기존의 방법에서 ORM 과 인텔리J사용 및 VUE를 이용한 프론트 연동 까지 익숙해지기 위해서 진행한다고 의의를 둔다.

그럼 개발 및 설계 파트를 뛰어 넘을꺼니 간단히 설계를 하자면
ERD는 다음과같이 할수있고 MYSQL을 이용할 예정이다 .

CREATE TABLE IF NOT EXISTS `tekiescommunity`.`TC_User` (
  `TC_Num` INT NOT NULL AUTO_INCREMENT,
  `TC_Id` VARCHAR(45) NULL,
  `TC_Password` VARCHAR(45) NULL,
  `TC_Email` VARCHAR(45) NULL,
  PRIMARY KEY (`TC_Num`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`TC_Comment`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tekiescommunity`.`TC_Comment` (
  `Comment_Num` INT NOT NULL,
  `Comment_Content` VARCHAR(45) NULL,
  `Comment_TCNum` INT NULL,
  PRIMARY KEY (`Comment_Num`),
  INDEX `ForeignKey_CommentTCNum_idx` (`Comment_TCNum` ASC) VISIBLE,
  CONSTRAINT `ForeignKey_CommentTCNum`
    FOREIGN KEY (`Comment_TCNum`)
    REFERENCES `tekiescommunity`.`TC_User` (`TC_Num`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`TC_Board`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tekiescommunity`.`TC_Board` (
  `Board_Num` INT NOT NULL,
  `Board_Title` VARCHAR(45) NULL,
  `Board_Content` VARCHAR(200) NULL,
  `Board_TCNum` INT NULL,
  `Board_CommentNum` INT NULL,
  PRIMARY KEY (`Board_Num`),
  INDEX `ForeignKey_TCNum_idx` (`Board_TCNum` ASC) VISIBLE,
  INDEX `ForeignKey_BoardCommentNum_idx` (`Board_CommentNum` ASC) VISIBLE,
  CONSTRAINT `ForeignKey_BoardTCNum`
    FOREIGN KEY (`Board_TCNum`)
    REFERENCES `tekiescommunity`.`TC_User` (`TC_Num`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `ForeignKey_BoardCommentNum`
    FOREIGN KEY (`Board_CommentNum`)
    REFERENCES `tekiescommunity`.`TC_Comment` (`Comment_Num`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

다음 파트에서는 DTO를 만들고 JPA를 이용해서 연결해줄예정이다.

profile
노력하는 뚠뚠이

0개의 댓글