Commit d40f6cbc by Antonio Rueda

Añadida dependencia de JPA, propiedades de conexión a SQL y

mapeado de entidades
parent a65ba441
<?xml version="1.0" encoding="UTF-8"?>
<actions>
<action>
<actionName>run</actionName>
<packagings>
<packaging>jar</packaging>
</packagings>
<goals>
<goal>process-classes</goal>
<goal>org.codehaus.mojo:exec-maven-plugin:3.1.0:exec</goal>
</goals>
<properties>
<exec.vmArgs></exec.vmArgs>
<exec.args>${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}</exec.args>
<exec.appArgs></exec.appArgs>
<exec.mainClass>es.ujaen.dae.reservahoteles.app.ReservaHoteles</exec.mainClass>
<exec.executable>java</exec.executable>
</properties>
</action>
<action>
<actionName>debug</actionName>
<packagings>
<packaging>jar</packaging>
</packagings>
<goals>
<goal>process-classes</goal>
<goal>org.codehaus.mojo:exec-maven-plugin:3.1.0:exec</goal>
</goals>
<properties>
<exec.vmArgs>-agentlib:jdwp=transport=dt_socket,server=n,address=${jpda.address}</exec.vmArgs>
<exec.args>${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}</exec.args>
<exec.appArgs></exec.appArgs>
<exec.mainClass>es.ujaen.dae.reservahoteles.app.ReservaHoteles</exec.mainClass>
<exec.executable>java</exec.executable>
<jpda.listen>true</jpda.listen>
</properties>
</action>
<action>
<actionName>profile</actionName>
<packagings>
<packaging>jar</packaging>
</packagings>
<goals>
<goal>process-classes</goal>
<goal>org.codehaus.mojo:exec-maven-plugin:3.1.0:exec</goal>
</goals>
<properties>
<exec.vmArgs></exec.vmArgs>
<exec.args>${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}</exec.args>
<exec.mainClass>es.ujaen.dae.reservahoteles.app.ReservaHoteles</exec.mainClass>
<exec.executable>java</exec.executable>
<exec.appArgs></exec.appArgs>
</properties>
</action>
</actions>
...@@ -2,8 +2,10 @@ ...@@ -2,8 +2,10 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>es.ujaen.dae</groupId> <groupId>es.ujaen.dae</groupId>
<artifactId>ReservaHoteles</artifactId> <artifactId>reserva-hoteles</artifactId>
<name>ReservaHoteles</name>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties> <properties>
<java.version>18</java.version> <java.version>18</java.version>
...@@ -29,6 +31,16 @@ ...@@ -29,6 +31,16 @@
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
......
...@@ -3,14 +3,19 @@ package es.ujaen.dae.reservahoteles.app; ...@@ -3,14 +3,19 @@ package es.ujaen.dae.reservahoteles.app;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
/** /**
* *
* @author ajrueda * @author ajrueda
*/ */
@SpringBootApplication(scanBasePackages="es.ujaen.dae.reservahoteles.servicios") @SpringBootApplication(scanBasePackages={
@EnableScheduling "es.ujaen.dae.reservahoteles.servicios",
"es.ujaen.dae.reservahoteles.repositorios"
})
@EntityScan(basePackages="es.ujaen.dae.reservahoteles.entidades")
//@EnableScheduling
public class ReservaHoteles { public class ReservaHoteles {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(ReservaHoteles.class); SpringApplication.run(ReservaHoteles.class);
......
...@@ -3,6 +3,12 @@ package es.ujaen.dae.reservahoteles.entidades; ...@@ -3,6 +3,12 @@ package es.ujaen.dae.reservahoteles.entidades;
import es.ujaen.dae.reservahoteles.excepciones.ReservaNoValida; import es.ujaen.dae.reservahoteles.excepciones.ReservaNoValida;
import es.ujaen.dae.reservahoteles.excepciones.NoDisponibilidadReserva; import es.ujaen.dae.reservahoteles.excepciones.NoDisponibilidadReserva;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToMany;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern; import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Positive; import jakarta.validation.constraints.Positive;
...@@ -15,8 +21,11 @@ import java.util.List; ...@@ -15,8 +21,11 @@ import java.util.List;
* *
* @author ajrueda * @author ajrueda
*/ */
@Entity
public class Hotel { public class Hotel {
@Positive @Positive
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
int id; int id;
@NotBlank @NotBlank
String nombre; String nombre;
...@@ -41,6 +50,8 @@ public class Hotel { ...@@ -41,6 +50,8 @@ public class Hotel {
@PositiveOrZero @PositiveOrZero
int precioHabDoble; int precioHabDoble;
@OneToMany
@JoinColumn(name = "hotel_id")
List<Reserva> reservas; List<Reserva> reservas;
public Hotel(int id, String nombre, String localidad, String provincia, String cp, int numHabSimple, int numHabDoble, int precioHabSimple, int precioHabDoble) { public Hotel(int id, String nombre, String localidad, String provincia, String cp, int numHabSimple, int numHabDoble, int precioHabSimple, int precioHabDoble) {
......
package es.ujaen.dae.reservahoteles.entidades; package es.ujaen.dae.reservahoteles.entidades;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive; import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.PositiveOrZero; import jakarta.validation.constraints.PositiveOrZero;
...@@ -10,8 +15,11 @@ import java.time.LocalDate; ...@@ -10,8 +15,11 @@ import java.time.LocalDate;
* *
* @author ajrueda * @author ajrueda
*/ */
@Entity
public class Reserva { public class Reserva {
// clave // clave
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Positive @Positive
int num; int num;
...@@ -26,6 +34,7 @@ public class Reserva { ...@@ -26,6 +34,7 @@ public class Reserva {
int numHabDoble; int numHabDoble;
@NotNull @NotNull
@ManyToOne
Usuario cliente; Usuario cliente;
public Reserva(int num, Usuario cliente, LocalDate fechaInicio, LocalDate fechaFin, int numHabSimple, int numHabDoble) { public Reserva(int num, Usuario cliente, LocalDate fechaInicio, LocalDate fechaFin, int numHabSimple, int numHabDoble) {
......
package es.ujaen.dae.reservahoteles.entidades; package es.ujaen.dae.reservahoteles.entidades;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.validation.constraints.Email; import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern; import jakarta.validation.constraints.Pattern;
...@@ -9,6 +11,7 @@ import jakarta.validation.constraints.Pattern; ...@@ -9,6 +11,7 @@ import jakarta.validation.constraints.Pattern;
* *
* @author ajrueda * @author ajrueda
*/ */
@Entity
public class Usuario { public class Usuario {
@NotBlank @NotBlank
String nombre; String nombre;
...@@ -19,12 +22,17 @@ public class Usuario { ...@@ -19,12 +22,17 @@ public class Usuario {
String tlf; String tlf;
// Clave // Clave
@Id
@Email @Email
String email; String email;
@NotBlank @NotBlank
String clave; String clave;
public Usuario() {
}
public Usuario(String nombre, String direccion, String tlf, String email, String clave) { public Usuario(String nombre, String direccion, String tlf, String email, String clave) {
this.nombre = nombre; this.nombre = nombre;
this.direccion = direccion; this.direccion = direccion;
......
meses-historico: 3 meses-historico: 3
\ No newline at end of file
spring.datasource.url: jdbc:mysql://localhost:3306/reservas
spring.datasource.username: reservas_usr
spring.datasource.password: secret
spring.jpa.properties.jakarta.persistence.schema-generation.database.action: drop-and-create
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment