spring-boot
Spring Boot-Hibernate-REST-Integration
Suche…
Hibernate-Unterstützung hinzufügen
- Fügen Sie pom.xml die Spring-Boot-Starter-data-jpa- Abhängigkeit hinzu. Sie können das Versionskennzeichen überspringen, wenn Sie Spring-Boot-Starter-Parent als übergeordnetes Element Ihrer pom.xml verwenden . Die nachstehende Abhängigkeit bringt den Ruhezustand und alles, was mit JPA zusammenhängt, in Ihr Projekt ( Referenz ).
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
Fügen Sie der pom.xml den Datenbanktreiber hinzu. Dieser hier ist für die H2-Datenbank ( Referenz ).
<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency>
Aktivieren Sie die Debugprotokollierung für Hibernate in application.properties
logging.level.org.hibernate.SQL = debug
oder in application.yml
logging:
level:
org.hibernate.SQL: debug
Fügen Sie unter $ {project.home} / src / main / java / dem gewünschten Paket eine Entitätsklasse hinzu, zum Beispiel unter com.example.myproject.domain ( reference ):
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; }
Fügen Sie import.sql zu $ {project.home} / src / main / resources / hinzu . Fügen Sie INSERT- Anweisungen in die Datei ein. Diese Datei wird für die Auffüllung des Datenbankschemas bei jedem Start der App ( Referenz ) verwendet:
insert into city(name) values ('Brisbane'); insert into city(name) values ('Melbourne');
Fügen Sie die Repository-Klasse unter $ {project.home} / src / main / java / dem gewünschten Paket hinzu, beispielsweise unter com.example.myproject.service ( Referenz ):
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); }
Im Grunde ist es das! An dieser Stelle können Sie bereits mit den Methoden von com.example.myproject.service.CityRepository auf die Datenbank zugreifen .
REST-Unterstützung hinzufügen
- Fügen Sie pom.xml die Spring-Boot-Starter-Web- Abhängigkeit hinzu. Sie können das Versions- Tag überspringen, wenn Sie Spring-Boot-Starter-Parent als übergeordnetes Element Ihrer pom.xml ( Referenz ) verwenden.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Fügen Sie dem gewünschten Paket den REST-Controller hinzu, beispielsweise zu com.example.myproject.web.rest ( Referenz ):
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()); } }
Starten Sie die Spring Boot-Anwendung ( Referenz ).
Ihr Controller ist unter der Adresse http: // localhost: 8080 / api / version erreichbar .