spring-boot
Spring Boot - integracja Hibernacja-REST
Szukaj…
Dodaj obsługę hibernacji
- Dodaj zależność spring-boot-starter-data-jpa do pom.xml. Możesz pominąć tag wersji , jeśli używasz narzędzia Spring-Boot-Starter- Parent jako elementu nadrzędnego pliku pom.xml . Poniższa zależność przynosi Hibernację i wszystko, co związane z JPA do twojego projektu ( odniesienie ).
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
Dodaj sterownik bazy danych do pom.xml . Ten poniżej dotyczy bazy danych H2 ( odniesienie ).
<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency>
Włącz rejestrowanie debugowania dla Hibernacji w pliku application.properties
logowanie.level.org.hibernate.SQL = debugowanie
lub w application.yml
logging:
level:
org.hibernate.SQL: debug
Dodaj klasę encji do żądanego pakietu w $ {project.home} / src / main / java / , na przykład w com.example.myproject.domain ( odniesienie ):
package com.example.myproject.domain; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import java.io.Serializable; @Entity public class City implements Serializable { @Id @GeneratedValue public Long id; @Column(nullable = false) public String name; }
Dodaj plik import.sql do $ { project.home } / src / main / resources / . Wstaw instrukcje INSERT do pliku. Ten plik będzie używany do zapełniania schematów bazy danych przy każdym uruchomieniu aplikacji ( odniesienie ):
insert into city(name) values ('Brisbane'); insert into city(name) values ('Melbourne');
Dodaj klasę repozytorium do żądanego pakietu w $ {project.home} / src / main / java / , na przykład w com.example.myproject.service ( odniesienie ):
package com.example.myproject.service; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import java.io.Serializable; import com.example.myproject.domain.City; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.repository.Repository; interface CityRepository extends Repository<City, Long> { Page<City> findAll(Pageable pageable); Page<City> findByName(String name); }
Zasadniczo to wszystko! W tym momencie możesz już uzyskać dostęp do bazy danych przy użyciu metod com.example.myproject.service.CityRepository .
Dodaj obsługę REST
- Dodaj zależność spring-boot-starter-web do pom.xml. Możesz pominąć tag wersji , jeśli używasz narzędzia Spring-boot-starter-parent jako elementu nadrzędnego pliku pom.xml ( odniesienie ).
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Dodaj kontroler REST do żądanego pakietu, na przykład do com.example.myproject.web.rest ( odniesienie ):
package com.example.myproject.web.rest; import java.util.Map; import java.util.HashMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; @RestController public class VersionController { @RequestMapping("/api/version") public ResponseEntity get() { final Map<String, String> responseParams = new HashMap(); responseParams.put("requestStatus", "OK"); responseParams.put("version", "0.1-SNAPSHOT"); return ResponseEntity.ok().body(responseParams.build()); } }
Uruchom aplikację Spring Boot ( informacje ).
Twój kontroler jest dostępny pod adresem http: // localhost: 8080 / api / version .