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