6.1. 책 입력 기능 개요
책 정보를 입력하기 위한 기능을 만들어 보겠습니다.즉, 생성 화면 /create 에서 제목, 분류, 가격을 입력하고 저장 버튼을 클릭하면 서버가 해야 하는 일을 기술하는 것입니다.
- 스프링 부트 하루만에 배우기
- · 2024. 6. 29.
JPA에서는 데이터베이스와 연동하는 방법 중 하나로 리포지터리 인터페이스를 주로 사용합니다.com.yse.dev.book.entity 패키지 우클릭 => New => Interface를 차례로 클릭합니다.New Java Interface 팝업창에서 Extended interfaces 오른쪽의 Add 버튼을 클릭합니다. Extended interfaces selection 서브 팝업창이 보여집니다.검색창에 jparepository를 입력합니다. 첫번째 항목인 JpaRepository를 선택하고 OK 버튼을 클릭합니다.New Java Interface 팝업창으로 돌아와서 Name란에 BookRepository를 입력합니다. 그리고 Finish를 눌러서 팝업창을 닫아줍니다.일반적으로 리포지터리 인터페이스는 이..
JPA는 데이터베이스의 테이블을 언어의 객체처럼 다루는 ORM(Object Relation Mapping) 기술 중 하나입니다. 이제부터 우리는 JPA를 통해서 데이터베이스의 테이블에 접근하는 방법을 배워볼 꺼에요.스프링 부트에서 JPA로 데이터를 다루기 위해 가장 먼저 해야 하는 일은 엔티티 클래스를 만드는 겁니다.엔티티 클래스는 데이터베이스 테이블과 1:1로 매핑되는 자바 클래스입니다.src/main/java > com.yse.dev.book 패키지 아래에 entity 패키지를 생성하고 com.yse.dev.book.entity 패키지 아래에 Book.java 클래스 파일도 생성합니다.src/main/java > com.yse.dev.book.entity > Book.javapackage com.ys..
책 정보를 입력하기 위한 기능을 만들어 보겠습니다.즉, 생성 화면 /create 에서 제목, 분류, 가격을 입력하고 저장 버튼을 클릭하면 서버가 해야 하는 일을 기술하는 것입니다.
이제 서버를 실행해서 웹 브라우저에서 직접 확인해 보겠습니다.왼쪽 아래에 보면 Boot Dashboard가 있습니다. local을 펼쳐서 onedayboot [:8080] 을 우클릭합니다. 이후 (Re) Debug 를 클릭해서 디버깅 모드로 서버를 시작합니다.단축키로 ctrl + alt + shift + b 키를 누른 후 모든 키보드에서 손을 떼고 D 키를 눌러도 됩니다. 예상할 수 있듯이 ctrl + alt + shift + b 키는 BootDashboard모드로 들어가는 단축키이고, D는 Debug의 약자입니다브라우저에 http://localhost:8080/book/create 주소로 접속해서 화면이 나오는지 확인해 보겠습니다.
책은 제목, 가격 두 속성이 필요하다고 가정하고 이를 입력받는 화면을 만들어 봅니다.아래의 내용으로 create.html 파일을 수정합니다.src/main/resources > templates.book > create.html 책 생성하기 제목 : 가격 : 뷰는 화면을 담당합니다. 웹 어플리케이션에서 사용자가 보는 화면은 웹 브라우저가 렌더링하므로 브라우저가 읽어서 해석할 수 있는 HTML로 최종 변환될 수 있도록 작성하는 거에요.create.html 뷰는 제목, 카테고리, 가격을 입력받을 수 있는 형식(form - 폼)을 가진 HTML입니다.
책 생성 컨트롤러에서 book/create 경로를 반환했으므로, 실제 화면을 담당하는 뷰 코드를 작성하겠습니다.뷰 파일을 생성합니다.src/main/resources > templates 를 우클릭 => New => File을 차례로 선택합니다.파일 이름란에 book/create.html 을 입력하고 Finish를 클릭합니다.만일 / is invalid character in resource name 'book/create.html' 메시지가 나오면서 파일 생성이 되지 않는다면 다음과 같이 해 주세요.src/main/resources > templates 우클릭 => New => Folder => Folder name : book => Finishsrc/main/resources > templates.b..