사랑하애오
article thumbnail
[VSCODE] SpringBoot CRUD게시판 만들기 - 레포지토리(Repository)
JAVA/SpringBoot CRUD Board 2022. 7. 1. 10:57

리포지터리 엔티티만으로는 데이터베이스에 데이터를 저장하거나 조회 할 수 없다. 데이터 처리를 위해서는 실제 데이터베이스와 연동하는 JPA 리포지터리가 필요하다. 리포지터리란? 리포지터리는 엔티티에 의해 생성된 데이터베이스 테이블에 접근하는 메소드들(예: findAll, save 등)을 사용하기 위한 인터페이스이다. 데이터 처리를 위해서는 테이블에 어떤 값을 넣거나 값을 조회하는 등의 CRUD(Create, Read, Update, Delete)가 필요하다. 이 때 이러한 CRUD를 어떻게 처리할지 정의하는 계층이 바로 리포지터리이다. 다음과 같이 QuestionRepository 인터페이스를 생성하자. [파일명:/sbb/src/main/java/com/mysite/sbb/QuestionRepository..

article thumbnail
[VSCODE] SpringBoot CRUD게시판 만들기 - 엔티티(Entity)
JAVA/SpringBoot CRUD Board 2022. 7. 1. 09:45

이제 SBB가 사용할 엔티티(Entity)을 만들어 보자. 엔티티는 데이터베이스 테이블과 매핑되는 자바 클래스를 말한다. SBB는 질문과 답변을 할 수 있는 게시판 서비스이다. 따라서 SBB에는 질문과 답변에 해당하는 엔티티가 있어야 한다. 엔티티는 모델 또는 도메인 모델이라고 부르기도 한다. 이것들을 구분하지 않고 테이블과 매핑되는 클래스를 엔티티라 지칭하겠다. 엔티티의 속성 구상하기 그렇다면 질문과 답변 엔티티에는 어떤 속성들이 필요한지 먼저 생각해 보자. 질문(Question) 엔티티에는 최소한 다음과 같은 속성이 필요하다. 속성명설명 id 질문의 고유 번호 subject 질문의 제목 content 질문의 내용 create_date 질문을 작성한 일시 마찬가지로 답변(Answer) 엔티티에는 최소한..

article thumbnail
[VSCODE] SpringBoot CRUD게시판 만들기 - JPA
JAVA/SpringBoot CRUD Board 2022. 6. 30. 17:39

우리가 만들 SBB는 질문 답변 게시판이다. 질문이나 답변을 작성하면 데이터가 생성된다. 그러므로 데이터를 저장하거나 조회하거나 수정하는 등의 기능을 구현해야 한다. 웹 서비스는 데이터를 처리할 때 대부분 데이터베이스를 사용한다. 그런데 데이터베이스를 사용하려면 SQL 쿼리(query)라는 구조화된 질의를 작성하고 실행하는 등의 복잡한 과정이 필요하다. 이때 ORM(object relational mapping)을 이용하면 자바 문법만으로도 데이터베이스를 다룰 수 있다. 즉, ORM을 이용하면 개발자가 쿼리를 직접 작성하지 않아도 데이터베이스의 데이터를 처리할 수 있다. 이 책은 독자가 데이터베이스 개념이나 SQL 쿼리의 기초는 안다고 가정한다. 그러나 독자가 이런 기초지식이 없어도 이 책의 실습을 따라..