[Spring] 3) BOOKORDER_Back(1)
MySQLにヒープデータを入れる
INSERT INTO BOOK(name,description,author,price)VALUES
INSERT INTO BOOK(name,description,author,price)VALES(「ドラえもん」「ドラえもんはいったい何を考えているの?」「朴多拉A夢」、20);
INSERT INTO BOOK(name,description,author,price)VALES(「破滅の刃」「本物の徳厚だけが見る破滅の刃...」「耳刀」、12);
INSERT INTO BOOK(name,description,author,price)VALES(「クレヨンしんちゃんは止められない」,「クレヨンしんちゃんは何をしているのか」,「シロ」,17);
[結果]
念のため
commit;
までBookService.java
Services-ファイル名:生成
BookService.java
、BookServiceImpl.java
BookService.Javaのclassをインタフェースに変更するInterface
なので、個別の実装クラスがあります:BookServiceImpl.java
BookServiceImpl.JAvaコード
BookServiceImplに
implements BookService
を追加します.初期状態
BookServiceImpl.java
package dev.book.bookorder.service;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import dev.book.bookorder.model.dto.BookDTO;
import dev.book.bookorder.model.entity.Book;
import dev.book.bookorder.repository.BookRepository;
// @Service, @Autowired라는 Annotation을 반드시 정해줘야함
@Service
public class BookServiceImpl implements BookService {
@Autowired
private BookRepository bookRepository;
@Override
public List<BookDTO> findAllBooks() {
List<Book> list = bookRepository.findAll();
List<BookDTO> result = list.stream().map(r -> new BookDTO(r)).collect(Collectors.toList());
return result;
}
}
以上のコードを貼り付けます.BookRepository.java
repository-ファイル名:
BookRepository.java
を作成します.BookRepository.Javaのclassをインタフェースに変更しますが、実装クラスは直接作成されません.
Repository内部ではSimpleJpa Repositoryを使用します.
BookController.Javaの変更
package dev.book.bookorder.controller;
import java.util.List;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import dev.book.bookorder.model.dto.BookDTO;
import dev.book.bookorder.service.BookService;
@CrossOrigin(origins="*")
@RestController // @Component와 동일, spring container에 bean으로 등록된다.
@RequestMapping("/api/v1/books") // localhost:8090/api/v1/books~
public class BookController {
// BookService interface를 사용하기 위해 필드 선언
private final BookService bookService;
public BookController(BookService bookService){
this.bookService = bookService;
}
@GetMapping()
public List<BookDTO> findAllBooks(){
return bookService.findAllBooks();
}
}
😮 検査結果:BOOK ORDERアプリ
BACK部
BOOKORDER
では動作しない.FRONT人
BOOK_ORDER_APP
からnpm start
で確認しなければなりません空の配列が出現したため,後から正確にデータを取得できなかった.
問題解決!
サーバを実行する前に、アプリケーション.属性#ゾクセイ#
spring.jpa.hibernate.ddl-auto=create
をupdate
に変更する必要があります!create
に設定と、BOOK TABLEのデータがDROPによって再CREATEされるため、Listは空の配列を返しているようです🙄
どうして知らないで、ほほほ、MySQLの中のデータは反映するのがとても良いです!!
Reference
この問題について([Spring] 3) BOOKORDER_Back(1)), 我々は、より多くの情報をここで見つけました https://velog.io/@dingdoooo/Spring-3-BOOKORDERBack1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol