From af43b8cb124fe1250272d9c17b3c592ac3caa5da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isidoro=20Nevares=20Mart=C3=ADn?= Date: Fri, 5 Dec 2025 13:38:32 +0100 Subject: [PATCH] commit inicial --- .classpath | 41 ++++++++++++++++++ .gitignore | 3 ++ .project | 23 ++++++++++ .settings/org.eclipse.core.resources.prefs | 2 + .settings/org.eclipse.jdt.core.prefs | 13 ++++++ .settings/org.eclipse.m2e.core.prefs | 4 ++ pom.xml | 23 ++++++++++ .../lapaloma/aadd/mapamundi/AppMapaMundi.java | 21 ++++++++++ .../gestores/GestorSesionesHibernate.java | 42 +++++++++++++++++++ .../aadd/mapamundi/vo/Continente.java | 27 ++++++++++++ .../org/lapaloma/aadd/mapamundi/vo/Pais.java | 36 ++++++++++++++++ src/main/resources/hibernate.cfg.xml | 25 +++++++++++ 12 files changed, 260 insertions(+) create mode 100644 .classpath create mode 100644 .gitignore create mode 100644 .project create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 .settings/org.eclipse.m2e.core.prefs create mode 100644 pom.xml create mode 100644 src/main/java/org/lapaloma/aadd/mapamundi/AppMapaMundi.java create mode 100644 src/main/java/org/lapaloma/aadd/mapamundi/gestores/GestorSesionesHibernate.java create mode 100644 src/main/java/org/lapaloma/aadd/mapamundi/vo/Continente.java create mode 100644 src/main/java/org/lapaloma/aadd/mapamundi/vo/Pais.java create mode 100644 src/main/resources/hibernate.cfg.xml diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..d863192 --- /dev/null +++ b/.classpath @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..93e00af --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/bin/ +*.class +/target/ diff --git a/.project b/.project new file mode 100644 index 0000000..5c07120 --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ + + + aadd_act3_1 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + 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..bfac099 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,13 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=24 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=24 +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.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=24 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..9f3dd62 --- /dev/null +++ b/pom.xml @@ -0,0 +1,23 @@ + + 4.0.0 + org.lapaloma.aadd.mapamundi + aadd_act3_1 + 0.0.1-SNAPSHOT + + + + + com.mysql + mysql-connector-j + 9.5.0 + + + + + org.hibernate.orm + hibernate-core + 7.1.11.Final + + + + \ No newline at end of file diff --git a/src/main/java/org/lapaloma/aadd/mapamundi/AppMapaMundi.java b/src/main/java/org/lapaloma/aadd/mapamundi/AppMapaMundi.java new file mode 100644 index 0000000..0ed0b4e --- /dev/null +++ b/src/main/java/org/lapaloma/aadd/mapamundi/AppMapaMundi.java @@ -0,0 +1,21 @@ +package org.lapaloma.aadd.mapamundi; + +import org.lapaloma.aadd.mapamundi.gestores.GestorSesionesHibernate; + +/** + * + * AppMapaMundi: Clase que realiza .... + * + * @author Isidoro Nevares Martín - IES Virgen de la Paloma + * @date 5 dic 2025 + * + * + */ + +public class AppMapaMundi { + + public static void main(String[] args) { + GestorSesionesHibernate.getSession(); + } + +} diff --git a/src/main/java/org/lapaloma/aadd/mapamundi/gestores/GestorSesionesHibernate.java b/src/main/java/org/lapaloma/aadd/mapamundi/gestores/GestorSesionesHibernate.java new file mode 100644 index 0000000..3101037 --- /dev/null +++ b/src/main/java/org/lapaloma/aadd/mapamundi/gestores/GestorSesionesHibernate.java @@ -0,0 +1,42 @@ +package org.lapaloma.aadd.mapamundi.gestores; + +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.cfg.Configuration; + +/** + * + * GestorSesionesHibernate: Clase que realiza .... + * + * @author Isidoro Nevares Martín - IES Virgen de la Paloma + * @date 4 dic 2025 + * + * + */ + +public class GestorSesionesHibernate { + private static SessionFactory sessionFactory = null; + + private GestorSesionesHibernate() {// Constructor privado para evitar instanciación + } + + // Carga la configuración desde hibernate.cfg.xml + static { + try { + sessionFactory = new Configuration().configure().buildSessionFactory(); + } catch (Throwable ex) { + System.err.println("Error en SessionFactory: " + ex); + throw new ExceptionInInitializerError(ex); + } + } + + public static Session getSession() { + return sessionFactory.openSession(); + } + + public static void cerrarFactoria() { + if (sessionFactory != null) { + sessionFactory.close(); + } + } +} diff --git a/src/main/java/org/lapaloma/aadd/mapamundi/vo/Continente.java b/src/main/java/org/lapaloma/aadd/mapamundi/vo/Continente.java new file mode 100644 index 0000000..40a2b5c --- /dev/null +++ b/src/main/java/org/lapaloma/aadd/mapamundi/vo/Continente.java @@ -0,0 +1,27 @@ +package org.lapaloma.aadd.mapamundi.vo; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +/** + * + * Continente: Clase que se usa para mapear la tabla de continentes + * @author Isidoro Nevares Martín - IES Virgen de la Paloma + * @date 5 dic 2025 + * + * + */ + +@Entity +@Table(name="T_CONTINENTE") +public class Continente { + @Id + @Column(name="codigo", columnDefinition = "char(2)") + private String codigo; + + @Column(name="nombre_continente", length=30, nullable=true) + private String nombreContinente; +} + diff --git a/src/main/java/org/lapaloma/aadd/mapamundi/vo/Pais.java b/src/main/java/org/lapaloma/aadd/mapamundi/vo/Pais.java new file mode 100644 index 0000000..ee28b93 --- /dev/null +++ b/src/main/java/org/lapaloma/aadd/mapamundi/vo/Pais.java @@ -0,0 +1,36 @@ +package org.lapaloma.aadd.mapamundi.vo; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table; + +/** + * + * Continente: Clase que se usa para mapear la tabla de Países + * @author Isidoro Nevares Martín - IES Virgen de la Paloma + * @date 5 dic 2025 + * + * + */ + +@Entity +@Table(name="T_PAIS") +public class Pais { + @Id + @Column(name="identificador") + private int identificador; + + @Column(name="nombre_pais", length=50) + private String nombrePais; + + @Column(name="capital", length=20) + private String capital; + + @ManyToOne + @JoinColumn(name="cod_continente") + private Continente continente; +} + diff --git a/src/main/resources/hibernate.cfg.xml b/src/main/resources/hibernate.cfg.xml new file mode 100644 index 0000000..488a656 --- /dev/null +++ b/src/main/resources/hibernate.cfg.xml @@ -0,0 +1,25 @@ + + + + + jdbc:mysql://192.168.1.36:3306/Mapa_mundi_aadd + com.mysql.cj.jdbc.Driver + + org.hibernate.dialect.MySQLDialect + + root + mysql_123 + + + create + true + true + + + + + + + \ No newline at end of file