시작하기 전 ... 기존 프로젝트 구조는 항상 Controller.java - Service.java - DAO.java - Mapper.xml 의 구조를 사용하였으며 DAOImpl의 구현 클래스에서 @Repository 어노테이션을 사용하여 해당 클래스가 Database와 통신하는 클래스임을 약속하였다. 하지만, Controller.java - Service.java - Mapper.java - Mapper.xml의 구조가 될 수도 있음을 알게되었다. 그럼 언제 어떻게 사용하는지, 무엇이 다른지 살펴보자! Goal Mybatis를 사용하는 이유를 이해한다. @Repository vs @Mapper 언제, 왜 사용하고 어떻게 다른지를 이해한다 각각의 Layer 프레젠테이션 계층 (Presentation ..
mybatis
Goal 요구사항에 부합하는 API desgin을 해보자 API desgin란? 1. 심플하고 직관적으로 만들기 REST API를 URL만 보고도, 직관적으로 이해할 수 있어야 한다 /boards /boards/1234 2. 동사보다 명사 사용하기 ( http method를 사용해서 구분) 행위를 URL에 사용하지 않기 ex. getBoardList, registBoard 리소스 POST GET PUT DELETE create read update delete /board 새로운 board 등록 boards 목록을 리턴 board 정보를 업데이트 board 정보를 삭제 3.단어를 hyphen(-)으로 구분하기 (underscores _ , camel 표기법 x) ex. example.com/boardUs..
Goal 요구사항에 부합하는 DB설계를 해보자 ERD (Entity-Relationship Diagram) 란? 요구사항을 분석하여 그림으로 그려내어 그 관계를 도출한 다이어그램을 말한다. 즉, ERD는 엔티티(entity) 간의 관계(relationship)를 도표(diagram)로 표시한 그림이다. 요구사항 참고 [springboot / 게시판 API] 개발환경 및 요구사항 정의 개발 환경 Intellij , springboot, java11, mybatis, mariadb(mysql) 특이사항 Lombok 사용 x 클래스는 VO or DTO로 Map 사용 x 게시판 API 개발 기능 요구사항 회원 가입 기능 회원 로그인 기능 회원이 접근 가능한 게시 dev-rosiepoise.tistory.com ..