commit 5c26196e46c5851faef82ec39da39f902d02a414 Author: Isidoro Nevares Martín Date: Wed Mar 26 09:18:37 2025 +0100 Paso de diagrama de clases a código - Patrón DAO Ministerio diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..e34ee24 --- /dev/null +++ b/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..0c52f54 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + PatronDAO_Act63 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..1023c22 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,13 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 diff --git a/src/org/lapaloma/inm/AppPrincipal.java b/src/org/lapaloma/inm/AppPrincipal.java new file mode 100644 index 0000000..e301efc --- /dev/null +++ b/src/org/lapaloma/inm/AppPrincipal.java @@ -0,0 +1,42 @@ +/** + * + */ +package org.lapaloma.inm; + +import org.lapaloma.inm.dao.IMinisterioDAO; +import org.lapaloma.inm.dao.impl.MinisterioDaoJDBC; +import org.lapaloma.inm.vo.Ministerio; + +/** + * Clase principal que permite trabajar con los datos de un Ministerio. + * + * @author Isidoro Nevares Martín + * @date 19 marzo 2025 + */ + +public class AppPrincipal { + + /** + * @param args + */ + public static void main(String[] args) { + + // Se correspondería con la relación de dependencia "usa" (IMinisterioDAO) + IMinisterioDAO interfazMinisterio = null; + int codigoMinisterio = 1; + + try { + // Se correspondería con la relación de dependencia "crea" + interfazMinisterio = new MinisterioDaoJDBC(); + + // Se correspondería con la relación de dependencia "usa" (Ministerio) + Ministerio ministerio = interfazMinisterio.obtenerMinisterioPorID(codigoMinisterio); + System.out.println("------- obtenerMinisterioPorID -----------"); + System.out.println(ministerio); + + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/src/org/lapaloma/inm/dao/IMinisterioDAO.java b/src/org/lapaloma/inm/dao/IMinisterioDAO.java new file mode 100644 index 0000000..dbb4c91 --- /dev/null +++ b/src/org/lapaloma/inm/dao/IMinisterioDAO.java @@ -0,0 +1,22 @@ +/** + * + */ +package org.lapaloma.inm.dao; + +import org.lapaloma.inm.vo.Ministerio; + +/** + * + * Interfaz que contiene las operaciones que se van a realizar sobre Ministerio + * @author Programador: Isidoro Nevares Martín - Organización: Virgen de la Paloma + * @date 19 marzo 2025 + */ +public interface IMinisterioDAO { + /** + * + * @param identificador + * @return + */ + public Ministerio obtenerMinisterioPorID(int codMinisterio); + +} diff --git a/src/org/lapaloma/inm/dao/impl/MinisterioDaoJDBC.java b/src/org/lapaloma/inm/dao/impl/MinisterioDaoJDBC.java new file mode 100644 index 0000000..8b9bf4d --- /dev/null +++ b/src/org/lapaloma/inm/dao/impl/MinisterioDaoJDBC.java @@ -0,0 +1,25 @@ +/** + * + */ +package org.lapaloma.inm.dao.impl; + +import java.sql.Connection; + +import org.lapaloma.inm.dao.IMinisterioDAO; +import org.lapaloma.inm.vo.Ministerio; + +/** +Clase que implementa el interfaz IMinisterioDAO mediante conexión JDBC. +@author Isidoro Nevares Martín - Organización: Virgen de la Paloma +@date: 9 ene 2025 +*/ +public class MinisterioDaoJDBC implements IMinisterioDAO { + private Connection conexionJDBC = null; + + @Override + public Ministerio obtenerMinisterioPorID(int codMinisterio) { + // TODO Auto-generated method stub + return null; + } + + } diff --git a/src/org/lapaloma/inm/vo/Ministerio.java b/src/org/lapaloma/inm/vo/Ministerio.java new file mode 100644 index 0000000..ef5030c --- /dev/null +++ b/src/org/lapaloma/inm/vo/Ministerio.java @@ -0,0 +1,62 @@ +/** + * + */ +package org.lapaloma.inm.vo; + +/** + * Clase que representa los datos de un Ministerio + * @author Isidoro Nevares Martín - Organización: Virgen de la Paloma + * @date 19 marzo 2025 + */ + +public class Ministerio { + + private int codMinisterio; + + private String nombre; + + private float presupuesto; + + private float gastos; + + // Getters y Setters + + public int getCodMinisterio() { + return codMinisterio; + } + + public void setCodMinisterio(int codMinisterio) { + this.codMinisterio = codMinisterio; + } + + public String getNombre() { + return nombre; + } + + public void setNombre(String nombre) { + this.nombre = nombre; + } + + public float getPresupuesto() { + return presupuesto; + } + + public void setPresupuesto(float presupuesto) { + this.presupuesto = presupuesto; + } + + public float getGastos() { + return gastos; + } + + public void setGastos(float gastos) { + this.gastos = gastos; + } + + @Override + public String toString() { + return "Ministerio [codMinisterio=" + codMinisterio + ", nombre=" + nombre + ", presupuesto=" + presupuesto + + ", gastos=" + gastos + "]"; + } +} +