Spring Boot - DataRest conexión con MySQL y manejo con JPA
- Details
- Created: Wednesday, 14 December 2016 19:35
- Written by Gerardo Pucheta Figueroa
- Hits: 5143
La mayoría de las configuraciones que se muestran en la red, incluida la configuración de spring, viene algo confusa, así que aquí hay una configuración simple a MySQL y se exponen los datos con ayuda de DataRest.
1. Configuración Maven
<groupId>com.ledze.springboot</groupId>
<artifactId>ledze-springboot-mysql</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ledze-springboot-mysql</name>
<description>Spring Boot demo to connect to a DB MySQL and DataRest</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>spring-boot-starter-jpa</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>RELEASE</version>
<scope>runtime</scope>
</dependency>
2. Configuración Properties
spring.datasource.url= jdbc:mysql://localhost:3306/ledzeschemamysqldb
spring.datasource.username= ledzeuserdb
spring.datasource.password= 123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
server.port=8001
3. Código Java - Entidad
/**
* Código generado por Gerado Pucheta Figueroa
* Twitter: @ledzedev
* http://ledze.mx
* 09/Dec/2016.
*/
@Entity
public class Usuario {@Id
@GeneratedValue
private Long id;private String nombre;
private String apaterno;
private String amaterno;
private String email;
private String password;
public Usuario() {//seguimos sin saber por qué jpa requiere uno de estos
}public Usuario(String nombre, String apaterno, String amaterno, String email) {
this.nombre = nombre;
this.apaterno = apaterno;
this.amaterno = amaterno;
this.email = email;
this.password = RandomStringUtils.randomAlphanumeric(5).concat(
RandomStringUtils.randomAscii(3)
);
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApaterno() {
return apaterno;
}
public void setApaterno(String apaterno) {
this.apaterno = apaterno;
}
public String getAmaterno() {
return amaterno;
}
public void setAmaterno(String amaterno) {
this.amaterno = amaterno;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {return "Usuario{" +
"id=" + id +
", nombre='" + nombre + '\'' +
", apaterno='" + apaterno + '\'' +
", amaterno='" + amaterno + '\'' +
", email='" + email + '\'' +
'}';
}
}
4. Código Java - Interfaz que habla con la BD.
/**
* Código generado por Gerado Pucheta Figueroa
* Twitter: @ledzedev
* http://ledze.mx
* 09/Dec/2016.
*/
@RepositoryRestResource
public interface RepositorioUsuariosDB extends JpaRepository<Usuario, Long> {Collection<Usuario> findByEmail(@Param("m") String email);
}
5. MySQL - Tabla usuarios en la base de datos.
Este es el contenido de la tabla de usuarios en la base de datos de MySQL
6. Browser - Consulta de datos en web, expuestos por DataRest.
Te puedes descargar mi código directamente del repositorio en github o en formato zip.
Add a comment