Commit examen eedd ra3
This commit is contained in:
commit
79c713190d
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
/bin/
|
||||||
|
*.class
|
||||||
|
/target/
|
||||||
|
# Eclipse
|
||||||
|
.classpath
|
||||||
|
.project
|
||||||
|
.settings/
|
||||||
7
pom.xml
Normal file
7
pom.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>org.lapaloma.concesionario</groupId>
|
||||||
|
<artifactId>aadd_concesionario</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
|
||||||
|
</project>
|
||||||
149
src/main/java/eedd/ra3/hogwarts/AppHogwarts.java
Normal file
149
src/main/java/eedd/ra3/hogwarts/AppHogwarts.java
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
package eedd.ra3.hogwarts;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import eedd.ra3.hogwarts.dao.ICasaDAO;
|
||||||
|
import eedd.ra3.hogwarts.dao.impl.CasaDaoArray;
|
||||||
|
import eedd.ra3.hogwarts.vo.Casa;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* AppConcesionario: Clase que realiza el tratamiento de los Casas de un
|
||||||
|
* concesionario.
|
||||||
|
*
|
||||||
|
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||||
|
* @date 4 dic 2025
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class AppHogwarts {
|
||||||
|
|
||||||
|
private ICasaDAO iCasaDAO;
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
AppHogwarts app = new AppHogwarts();
|
||||||
|
|
||||||
|
// Consulta inicial de Casas
|
||||||
|
app.consultarCasas("INICIAL");
|
||||||
|
|
||||||
|
// Consulta por ID
|
||||||
|
app.consultarPorId(3);
|
||||||
|
|
||||||
|
// Alta de un nuevo Casa
|
||||||
|
app.altaCasa();
|
||||||
|
|
||||||
|
// Actualización de un Casa existente
|
||||||
|
app.actualizarCasa();
|
||||||
|
|
||||||
|
// Borrado de un Casa por ID
|
||||||
|
app.borrarCasa(2);
|
||||||
|
|
||||||
|
// Consulta de Casas por "nombre"
|
||||||
|
app.consultarCasasNombre("Ravenclaw");
|
||||||
|
|
||||||
|
// Consulta final de Casas
|
||||||
|
app.consultarCasas("FINAL");
|
||||||
|
}
|
||||||
|
|
||||||
|
public AppHogwarts() {
|
||||||
|
iCasaDAO = new CasaDaoArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void consultarCasas(String momento) {
|
||||||
|
try {
|
||||||
|
List<Casa> listaCasas = iCasaDAO.obtenerListaCasas();
|
||||||
|
|
||||||
|
System.out.println("#########################################");
|
||||||
|
System.out.println("LISTADO DE CASAS " + momento);
|
||||||
|
System.out.println("#########################################");
|
||||||
|
|
||||||
|
for (Casa Casa : listaCasas) {
|
||||||
|
System.out.println(Casa);
|
||||||
|
}
|
||||||
|
System.out.println("-------------------------------------------------\n\n");
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void consultarPorId(int id) {
|
||||||
|
System.out.println("#########################################");
|
||||||
|
System.out.println("CONSULTA CASA POR ID: " + id);
|
||||||
|
System.out.println("#########################################\n");
|
||||||
|
|
||||||
|
Casa Casa = iCasaDAO.obtenerCasaPorID(id);
|
||||||
|
|
||||||
|
if (Casa != null) {
|
||||||
|
System.out.println(Casa);
|
||||||
|
} else {
|
||||||
|
System.out.println("No existe Casa con id " + id);
|
||||||
|
}
|
||||||
|
System.out.println("-------------------------------------------------\n\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void altaCasa() {
|
||||||
|
System.out.println("#########################################");
|
||||||
|
System.out.println("ALTA DE CASA");
|
||||||
|
System.out.println("#########################################\n");
|
||||||
|
|
||||||
|
Casa CasaNuevo = new Casa();
|
||||||
|
CasaNuevo.setIdentificador(8);
|
||||||
|
CasaNuevo.setNombre("Aula magna");
|
||||||
|
|
||||||
|
iCasaDAO.crearCasa(CasaNuevo);
|
||||||
|
|
||||||
|
System.out.println("Casa creada: " + CasaNuevo);
|
||||||
|
System.out.println("-------------------------------------------------\n\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void actualizarCasa() {
|
||||||
|
System.out.println("ACTUALIZAR CASA");
|
||||||
|
System.out.println("#########################################\n");
|
||||||
|
|
||||||
|
Casa Casa = new Casa(1, "Gryffindorrrr");
|
||||||
|
Casa CasaActualizado = iCasaDAO.actualizarCasa(Casa);
|
||||||
|
|
||||||
|
if (CasaActualizado != null) {
|
||||||
|
System.out.println("Casa actualizado: " + CasaActualizado);
|
||||||
|
} else {
|
||||||
|
System.out.println("No se encontró el Casa para actualizar");
|
||||||
|
}
|
||||||
|
System.out.println("-------------------------------------------------\n\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void borrarCasa(int id) {
|
||||||
|
System.out.println("#########################################");
|
||||||
|
System.out.println("BORRAR CASA ID: " + id);
|
||||||
|
System.out.println("#########################################\n");
|
||||||
|
|
||||||
|
Casa Casa = iCasaDAO.obtenerCasaPorID(id);
|
||||||
|
|
||||||
|
if (Casa != null) {
|
||||||
|
iCasaDAO.borrarCasa(Casa);
|
||||||
|
System.out.println("Casa borrado correctamente");
|
||||||
|
} else {
|
||||||
|
System.out.println("No existe Casa con id " + id);
|
||||||
|
}
|
||||||
|
System.out.println("-------------------------------------------------\n\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
private void consultarCasasNombre(String nombre) {
|
||||||
|
System.out.println("#########################################");
|
||||||
|
System.out.println("CONSULTA CASA POR Nombre: " + nombre);
|
||||||
|
System.out.println("#########################################\n");
|
||||||
|
|
||||||
|
List<Casa> listaCasas = iCasaDAO.obtenerCasaPorNombre(nombre);
|
||||||
|
|
||||||
|
for (Casa casa : listaCasas) {
|
||||||
|
System.out.println(casa);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("-------------------------------------------------\n\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
14
src/main/java/eedd/ra3/hogwarts/dao/ICasaDAO.java
Normal file
14
src/main/java/eedd/ra3/hogwarts/dao/ICasaDAO.java
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
package eedd.ra3.hogwarts.dao;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import eedd.ra3.hogwarts.vo.Casa;
|
||||||
|
|
||||||
|
public interface ICasaDAO {
|
||||||
|
public Casa obtenerCasaPorID(int identificador) ;
|
||||||
|
public Casa actualizarCasa(Casa casa) ;
|
||||||
|
public Casa crearCasa(Casa casa);
|
||||||
|
public void borrarCasa(Casa casa);
|
||||||
|
public List<Casa> obtenerListaCasas();
|
||||||
|
public List<Casa> obtenerCasaPorNombre(String nombre);
|
||||||
|
}
|
||||||
81
src/main/java/eedd/ra3/hogwarts/dao/impl/CasaDaoArray.java
Normal file
81
src/main/java/eedd/ra3/hogwarts/dao/impl/CasaDaoArray.java
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
package eedd.ra3.hogwarts.dao.impl;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import eedd.ra3.hogwarts.dao.ICasaDAO;
|
||||||
|
import eedd.ra3.hogwarts.vo.Casa;
|
||||||
|
|
||||||
|
public class CasaDaoArray implements ICasaDAO {
|
||||||
|
|
||||||
|
private List<Casa> listaCasas;
|
||||||
|
|
||||||
|
public CasaDaoArray() {
|
||||||
|
listaCasas = new ArrayList<>();
|
||||||
|
|
||||||
|
// Simulamos los inserts de la base de datos
|
||||||
|
listaCasas.add(new Casa(1, "Gryffindor"));
|
||||||
|
listaCasas.add(new Casa(2, "Slytherin"));
|
||||||
|
listaCasas.add(new Casa(3, "Ravenclaw"));
|
||||||
|
listaCasas.add(new Casa(4, "Hufflepuff"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Casa obtenerCasaPorID(int identificador) {
|
||||||
|
Casa Casa = null;
|
||||||
|
for (Casa CasaLista : listaCasas) {
|
||||||
|
if (CasaLista.getIdentificador() == identificador) {
|
||||||
|
Casa = CasaLista;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Casa;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Casa actualizarCasa(Casa Casa) {
|
||||||
|
Casa CasaActualizado = null;
|
||||||
|
|
||||||
|
for (int i = 0; i < listaCasas.size(); i++) {
|
||||||
|
Casa CasaLista = listaCasas.get(i);
|
||||||
|
if (CasaLista.getIdentificador() == Casa.getIdentificador()) {
|
||||||
|
listaCasas.set(i, Casa);
|
||||||
|
CasaActualizado = Casa;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return CasaActualizado; // no encontrado
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Casa crearCasa(Casa Casa) {
|
||||||
|
listaCasas.add(Casa);
|
||||||
|
return Casa;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void borrarCasa(Casa Casa) {
|
||||||
|
listaCasas.removeIf(c -> c.getIdentificador() == Casa.getIdentificador());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Casa> obtenerListaCasas() {
|
||||||
|
return new ArrayList<>(listaCasas); // devolvemos copia
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Casa> obtenerCasaPorNombre(String nombre) {
|
||||||
|
List<Casa> listaCasasMarca= null;
|
||||||
|
|
||||||
|
for (Casa Casa : listaCasas) {
|
||||||
|
if (Casa.getNombre().equals(nombre)) {
|
||||||
|
if (listaCasasMarca == null) {
|
||||||
|
listaCasasMarca = new ArrayList<>();
|
||||||
|
}
|
||||||
|
listaCasasMarca.add(Casa);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return listaCasasMarca;
|
||||||
|
}
|
||||||
|
}
|
||||||
50
src/main/java/eedd/ra3/hogwarts/vo/Casa.java
Normal file
50
src/main/java/eedd/ra3/hogwarts/vo/Casa.java
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
package eedd.ra3.hogwarts.vo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Casa: Clase de persistencia que representa una Casa de Hogwarts.
|
||||||
|
*
|
||||||
|
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||||
|
* @date 03 marzo 2026
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Casa {
|
||||||
|
private int identificador;
|
||||||
|
private String nombre;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param identificador
|
||||||
|
* @param nombre
|
||||||
|
*/
|
||||||
|
public Casa(int identificador, String nombre) {
|
||||||
|
super();
|
||||||
|
this.identificador = identificador;
|
||||||
|
this.nombre = nombre;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Casa() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIdentificador() {
|
||||||
|
return identificador;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIdentificador(int identificador) {
|
||||||
|
this.identificador = identificador;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNombre() {
|
||||||
|
return nombre;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNombre(String nombre) {
|
||||||
|
this.nombre = nombre;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Casa [identificador=" + identificador + ", nombre=" + nombre + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
67
src/main/resources/META-INF/persistence.xml
Normal file
67
src/main/resources/META-INF/persistence.xml
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="
|
||||||
|
http://xmlns.jcp.org/xml/ns/persistence
|
||||||
|
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
|
||||||
|
version="2.1">
|
||||||
|
|
||||||
|
<persistence-unit name="UP_CONCESIONARIO_ODB" transaction-type="RESOURCE_LOCAL">
|
||||||
|
<!-- Proveedor de persistencia JPA -->
|
||||||
|
<provider>com.objectdb.jpa.Provider</provider>
|
||||||
|
|
||||||
|
<!-- Clases a "mapear" -->
|
||||||
|
<class>org.lapaloma.concesionario.vo.Coche</class>
|
||||||
|
|
||||||
|
<!-- Configuración de propiedades del SGDB (ObjectDB)-->
|
||||||
|
<properties>
|
||||||
|
<property name="jakarta.persistence.jdbc.url" value="objectdb://localhost/Cocensionario.odb" />
|
||||||
|
<property name="jakarta.persistence.jdbc.user" value="admin"/>
|
||||||
|
<property name="jakarta.persistence.jdbc.password" value="admin"/>
|
||||||
|
</properties>
|
||||||
|
</persistence-unit>
|
||||||
|
|
||||||
|
<persistence-unit name="UP_CONCESIONARIO_MYSQL" transaction-type="RESOURCE_LOCAL">
|
||||||
|
<!-- Proveedor de persistencia JPA -->
|
||||||
|
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
|
||||||
|
|
||||||
|
<!-- Clases a "mapear" -->
|
||||||
|
<class>org.lapaloma.concesionario.vo.Coche</class>
|
||||||
|
|
||||||
|
<!-- Configuración de propiedades del SGDB (MySQL) -->
|
||||||
|
<properties>
|
||||||
|
<property name="jakarta.persistence.jdbc.url" value="jdbc:mysql://192.168.1.36:3306/Concesionario"/>
|
||||||
|
<property name="jakarta.persistence.jdbc.user" value="root"/>
|
||||||
|
<property name="jakarta.persistence.jdbc.password" value="mysql_123"/>
|
||||||
|
<property name="jakarta.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
|
||||||
|
|
||||||
|
<!-- Configuración Hibernate -->
|
||||||
|
<property name="hibernate.hbm2ddl.auto" value="none"/>
|
||||||
|
<property name="hibernate.show_sql" value="true"/>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</persistence-unit>
|
||||||
|
|
||||||
|
<persistence-unit name="UP_CONCESIONARIO_POSTGRESQL" transaction-type="RESOURCE_LOCAL">
|
||||||
|
<!-- Proveedor de persistencia JPA -->
|
||||||
|
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
|
||||||
|
|
||||||
|
<!-- Clases a "mapear" -->
|
||||||
|
<class>org.lapaloma.concesionario.vo.Coche</class>
|
||||||
|
|
||||||
|
<!-- Configuración de propiedades del SGDB (PostgreSQL) -->
|
||||||
|
<properties>
|
||||||
|
<property name="jakarta.persistence.jdbc.url" value="jdbc:postgresql://192.168.1.36:5432/Concesionario"/>
|
||||||
|
<property name="jakarta.persistence.jdbc.user" value="vdlp"/>
|
||||||
|
<property name="jakarta.persistence.jdbc.password" value="postgresql_123"/>
|
||||||
|
<property name="jakarta.persistence.jdbc.driver" value="org.postgresql.Driver"/>
|
||||||
|
|
||||||
|
<!-- Configuración Hibernate -->
|
||||||
|
<property name="hibernate.hbm2ddl.auto" value="none"/>
|
||||||
|
<property name="hibernate.show_sql" value="true"/>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</persistence-unit>
|
||||||
|
|
||||||
|
|
||||||
|
</persistence>
|
||||||
24
src/main/resources/hibernate.cfg.xml
Normal file
24
src/main/resources/hibernate.cfg.xml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<!DOCTYPE hibernate-configuration PUBLIC
|
||||||
|
"-//Hibernate/Hibernate Configuration DTD//EN"
|
||||||
|
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
|
||||||
|
<hibernate-configuration>
|
||||||
|
<session-factory>
|
||||||
|
<property name="connection.url">jdbc:mysql://192.168.1.36:3306/Concesionario</property>
|
||||||
|
<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
|
||||||
|
|
||||||
|
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
|
||||||
|
|
||||||
|
<property name="connection.username">root</property>
|
||||||
|
<property name="connection.password">mysql_123</property>
|
||||||
|
|
||||||
|
<!-- DB schema will be updated if needed -->
|
||||||
|
<property name="hbm2ddl.auto">none</property>
|
||||||
|
<property name="show_sql">false</property>
|
||||||
|
<property name="format_sql">true</property>
|
||||||
|
|
||||||
|
<mapping class="org.lapaloma.concesionario.vo.Coche"></mapping>
|
||||||
|
|
||||||
|
|
||||||
|
</session-factory>
|
||||||
|
</hibernate-configuration>
|
||||||
Loading…
Reference in New Issue
Block a user