spring-boot
Spring Boot- Hibernate-REST Integration
Buscar..
Añadir soporte Hibernate
- Agregue la dependencia spring-boot-starter-data-jpa a pom.xml. Puede omitir la etiqueta de la versión , si está utilizando spring-boot-starter-parent como padre de su pom.xml . La dependencia a continuación trae a Hibernate y todo lo relacionado con JPA a su proyecto ( referencia ).
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
Añadir controlador de base de datos a pom.xml . Este a continuación es para la base de datos H2 ( referencia ).
<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency>
Habilitar el registro de depuración para Hibernate en application.properties
logging.level.org.hibernate.SQL = debug
o en application.yml
logging:
level:
org.hibernate.SQL: debug
Agregue la clase de entidad al paquete deseado en $ {project.home} / src / main / java / , por ejemplo, en com.example.myproject.domain ( referencia ):
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; }
Agregue import.sql a $ {project.home} / src / main / resources / . Ponga las instrucciones INSERT en el archivo. Este archivo se utilizará para la población de esquemas de base de datos en cada inicio de la aplicación ( referencia ):
insert into city(name) values ('Brisbane'); insert into city(name) values ('Melbourne');
Agregue la clase de Repositorio al paquete deseado en $ {project.home} / src / main / java / , por ejemplo, en com.example.myproject.service ( referencia ):
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); }
Básicamente eso es todo! En este punto, ya puede acceder a la base de datos utilizando los métodos de com.example.myproject.service.CityRepository .
Añadir soporte REST
- Agregue la dependencia de spring-boot-starter-web a pom.xml. Puede omitir la etiqueta de la versión , si está usando spring-boot-starter-parent como padre de su pom.xml ( referencia ).
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Agregue el controlador REST al paquete deseado, por ejemplo a com.example.myproject.web.rest ( referencia ):
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()); } }
Inicie la aplicación Spring Boot ( referencia ).
Puede acceder a su controlador en la dirección http: // localhost: 8080 / api / version .