diff --git a/.gitignore b/.gitignore index 93e00af..0293886 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ /bin/ *.class /target/ +# Eclipse +.classpath +.project +.settings/ \ No newline at end of file diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 29abf99..dd5ac86 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,6 +1,7 @@ eclipse.preferences.version=1 encoding//src/main/java=UTF-8 encoding//src/main/resources=UTF-8 +encoding//src/main/resources/application.properties=UTF-8 encoding//src/test/java=UTF-8 encoding//src/test/resources=UTF-8 encoding/=UTF-8 diff --git a/pom.xml b/pom.xml index 8e9a855..76e54b2 100644 --- a/pom.xml +++ b/pom.xml @@ -10,11 +10,11 @@ org.springframework.boot spring-boot-starter-parent - 4.0.1 - + 4.0.1 + UTF-8 23 6.0.3 diff --git a/src/main/java/org/lapaloma/mapamundi/controller/ContinenteController.java b/src/main/java/org/lapaloma/mapamundi/controller/ContinenteController.java index f66bfdd..1493e40 100644 --- a/src/main/java/org/lapaloma/mapamundi/controller/ContinenteController.java +++ b/src/main/java/org/lapaloma/mapamundi/controller/ContinenteController.java @@ -26,7 +26,7 @@ public class ContinenteController { public ContinenteController(ContinenteService continenteService) { this.continenteService = continenteService; } - + // GET /api/continentes - listar todos los continentes @GetMapping public List getAll() { diff --git a/src/main/java/org/lapaloma/mapamundi/dao/IContinenteDAO.java b/src/main/java/org/lapaloma/mapamundi/dao/IContinenteDAO.java index 228e87a..dda378b 100644 --- a/src/main/java/org/lapaloma/mapamundi/dao/IContinenteDAO.java +++ b/src/main/java/org/lapaloma/mapamundi/dao/IContinenteDAO.java @@ -5,10 +5,15 @@ import java.util.List; import org.lapaloma.mapamundi.vo.Continente; public interface IContinenteDAO { - public Continente obtenerContinentePorClave(String codigo) ; - public void actualizarContinente(Continente continente) ; - public void crearContinente(Continente continente); - public void borrarContinente(Continente continente); - public List obtenerListaContinentes(); - public List obtenerContinentePorNombre(String nombre); + public Continente obtenerContinentePorClave(String codigo); + + public void actualizarContinente(Continente continente); + + public void crearContinente(Continente continente); + + public void borrarContinente(Continente continente); + + public List obtenerListaContinentes(); + + public List obtenerContinentePorNombre(String nombre); } diff --git a/src/main/java/org/lapaloma/mapamundi/dao/impl/ContinenteDaoJDBC.java b/src/main/java/org/lapaloma/mapamundi/dao/impl/ContinenteDaoJDBC.java index 04f6a4a..8d6966e 100644 --- a/src/main/java/org/lapaloma/mapamundi/dao/impl/ContinenteDaoJDBC.java +++ b/src/main/java/org/lapaloma/mapamundi/dao/impl/ContinenteDaoJDBC.java @@ -15,173 +15,173 @@ import org.springframework.stereotype.Repository; @Repository public class ContinenteDaoJDBC implements IContinenteDAO { - private final DataSource dataSource; + private final DataSource dataSource; - // Spring inyecta el DataSource configurado automáticamente - public ContinenteDaoJDBC(DataSource dataSource) { - this.dataSource = dataSource; - } + // Spring inyecta el DataSource configurado automáticamente + public ContinenteDaoJDBC(DataSource dataSource) { + this.dataSource = dataSource; + } - @Override - public Continente obtenerContinentePorClave(String codigo) { - Continente continente = null; + @Override + public Continente obtenerContinentePorClave(String codigo) { + Continente continente = null; - String sentenciaSQL = """ - SELECT * FROM T_CONTINENTE - WHERE codigo=? - """; + String sentenciaSQL = """ + SELECT * FROM T_CONTINENTE + WHERE codigo=? + """; - try (Connection conexion = dataSource.getConnection(); - PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { + try (Connection conexion = dataSource.getConnection(); + PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { - sentenciaJDBCPreparada.setString(1, codigo); - System.out.println(sentenciaJDBCPreparada); + sentenciaJDBCPreparada.setString(1, codigo); + System.out.println(sentenciaJDBCPreparada); - ResultSet resultadoSentencia = sentenciaJDBCPreparada.executeQuery(); + ResultSet resultadoSentencia = sentenciaJDBCPreparada.executeQuery(); - if (resultadoSentencia.next()) { - continente = getLineaFromResultSet(resultadoSentencia); - } + if (resultadoSentencia.next()) { + continente = getLineaFromResultSet(resultadoSentencia); + } - } catch (Exception e) { - e.printStackTrace(); - } + } catch (Exception e) { + e.printStackTrace(); + } - return continente; - } + return continente; + } - @Override - public void actualizarContinente(Continente continente) { + @Override + public void actualizarContinente(Continente continente) { - String sentenciaSQL = """ - UPDATE T_CONTINENTE - SET nombre_continente=? - WHERE codigo=? - """; + String sentenciaSQL = """ + UPDATE T_CONTINENTE + SET nombre_continente=? + WHERE codigo=? + """; - try (Connection conexion = dataSource.getConnection(); - PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { + try (Connection conexion = dataSource.getConnection(); + PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { - sentenciaJDBCPreparada.setString(1, continente.getNombre()); - sentenciaJDBCPreparada.setString(2, continente.getCodigo()); + sentenciaJDBCPreparada.setString(1, continente.getNombre()); + sentenciaJDBCPreparada.setString(2, continente.getCodigo()); - System.out.println(sentenciaJDBCPreparada); + System.out.println(sentenciaJDBCPreparada); - sentenciaJDBCPreparada.executeUpdate(); + sentenciaJDBCPreparada.executeUpdate(); - } catch (Exception e) { - e.printStackTrace(); - } + } catch (Exception e) { + e.printStackTrace(); + } - } + } - @Override - public void crearContinente(Continente continente) { + @Override + public void crearContinente(Continente continente) { - String sentenciaSQL = """ - INSERT INTO T_CONTINENTE (codigo, nombre_continente) - VALUES (?, ?) - """; + String sentenciaSQL = """ + INSERT INTO T_CONTINENTE (codigo, nombre_continente) + VALUES (?, ?) + """; - try (Connection conexion = dataSource.getConnection(); - PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { + try (Connection conexion = dataSource.getConnection(); + PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { - sentenciaJDBCPreparada.setString(1, continente.getCodigo()); - sentenciaJDBCPreparada.setString(2, continente.getNombre()); + sentenciaJDBCPreparada.setString(1, continente.getCodigo()); + sentenciaJDBCPreparada.setString(2, continente.getNombre()); - System.out.println(sentenciaJDBCPreparada); + System.out.println(sentenciaJDBCPreparada); - sentenciaJDBCPreparada.executeUpdate(); + sentenciaJDBCPreparada.executeUpdate(); - } catch (Exception e) { - e.printStackTrace(); - } - } + } catch (Exception e) { + e.printStackTrace(); + } + } - @Override - public void borrarContinente(Continente continente) { + @Override + public void borrarContinente(Continente continente) { - String sentenciaSQL = """ - DELETE FROM T_CONTINENTE - WHERE codigo=? - """; + String sentenciaSQL = """ + DELETE FROM T_CONTINENTE + WHERE codigo=? + """; - try (Connection conexion = dataSource.getConnection(); - PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { + try (Connection conexion = dataSource.getConnection(); + PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { - sentenciaJDBCPreparada.setString(1, continente.getCodigo()); + sentenciaJDBCPreparada.setString(1, continente.getCodigo()); - sentenciaJDBCPreparada.executeUpdate(); + sentenciaJDBCPreparada.executeUpdate(); - } catch (Exception e) { - e.printStackTrace(); - } - } + } catch (Exception e) { + e.printStackTrace(); + } + } - @Override - public List obtenerListaContinentes() { + @Override + public List obtenerListaContinentes() { - List lista = new ArrayList<>(); + List lista = new ArrayList<>(); - String sentenciaSQL = """ - SELECT * FROM T_CONTINENTE - """; + String sentenciaSQL = """ + SELECT * FROM T_CONTINENTE + """; - try (Connection conexion = dataSource.getConnection(); - PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { + try (Connection conexion = dataSource.getConnection(); + PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { - System.out.println(sentenciaJDBCPreparada); + System.out.println(sentenciaJDBCPreparada); - ResultSet resultadoSentencia = sentenciaJDBCPreparada.executeQuery(); + ResultSet resultadoSentencia = sentenciaJDBCPreparada.executeQuery(); - while (resultadoSentencia.next()) { - lista.add(getLineaFromResultSet(resultadoSentencia)); - } + while (resultadoSentencia.next()) { + lista.add(getLineaFromResultSet(resultadoSentencia)); + } - } catch (Exception e) { - e.printStackTrace(); - } + } catch (Exception e) { + e.printStackTrace(); + } - return lista; - } + return lista; + } - @Override - public List obtenerContinentePorNombre(String nombre) { + @Override + public List obtenerContinentePorNombre(String nombre) { - List lista = new ArrayList<>(); + List lista = new ArrayList<>(); - String sentenciaSQL = """ - SELECT * FROM T_CONTINENTE - WHERE nombre_continente LIKE ? - """; + String sentenciaSQL = """ + SELECT * FROM T_CONTINENTE + WHERE nombre_continente LIKE ? + """; - try (Connection conexion = dataSource.getConnection(); - PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { + try (Connection conexion = dataSource.getConnection(); + PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { - sentenciaJDBCPreparada.setString(1, "%" + nombre + "%"); + sentenciaJDBCPreparada.setString(1, "%" + nombre + "%"); - System.out.println(sentenciaJDBCPreparada); + System.out.println(sentenciaJDBCPreparada); - ResultSet resultadoSentencia = sentenciaJDBCPreparada.executeQuery(); + ResultSet resultadoSentencia = sentenciaJDBCPreparada.executeQuery(); - while (resultadoSentencia.next()) { - lista.add(getLineaFromResultSet(resultadoSentencia)); - } + while (resultadoSentencia.next()) { + lista.add(getLineaFromResultSet(resultadoSentencia)); + } - } catch (Exception e) { - e.printStackTrace(); - } + } catch (Exception e) { + e.printStackTrace(); + } - return lista; - } + return lista; + } - private Continente getLineaFromResultSet(ResultSet resultadoSentencia) throws SQLException { + private Continente getLineaFromResultSet(ResultSet resultadoSentencia) throws SQLException { - Continente continente = new Continente(); + Continente continente = new Continente(); - continente.setCodigo(resultadoSentencia.getString("codigo")); - continente.setNombre(resultadoSentencia.getString("nombre_continente")); + continente.setCodigo(resultadoSentencia.getString("codigo")); + continente.setNombre(resultadoSentencia.getString("nombre_continente")); - return continente; - } + return continente; + } } \ No newline at end of file diff --git a/src/main/java/org/lapaloma/mapamundi/excepcion/ContinenteNoEncontradoException.java b/src/main/java/org/lapaloma/mapamundi/excepcion/ContinenteNoEncontradoException.java index 56853fb..883c05e 100644 --- a/src/main/java/org/lapaloma/mapamundi/excepcion/ContinenteNoEncontradoException.java +++ b/src/main/java/org/lapaloma/mapamundi/excepcion/ContinenteNoEncontradoException.java @@ -1,12 +1,12 @@ package org.lapaloma.mapamundi.excepcion; public class ContinenteNoEncontradoException extends RuntimeException { - /** - * - */ - private static final long serialVersionUID = -3344627619585104664L; + /** + * + */ + private static final long serialVersionUID = -3344627619585104664L; - public ContinenteNoEncontradoException(String mensaje) { - super(mensaje); - } + public ContinenteNoEncontradoException(String mensaje) { + super(mensaje); + } } diff --git a/src/main/java/org/lapaloma/mapamundi/gestores/GestorFicheroConfiguracion.java b/src/main/java/org/lapaloma/mapamundi/gestores/GestorFicheroConfiguracion.java deleted file mode 100644 index ba16f14..0000000 --- a/src/main/java/org/lapaloma/mapamundi/gestores/GestorFicheroConfiguracion.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * - */ -package org.lapaloma.mapamundi.gestores; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Properties; - -/** -* @author Isidoro Nevares Martín - IES Virgen de la Paloma -* @date 20 feb 2026 -* -*/ -public class GestorFicheroConfiguracion { - private static final Properties PROPIEDADES = new Properties(); - - static { - try (InputStream is = GestorFicheroConfiguracion.class.getClassLoader() - .getResourceAsStream("config.properties")) { - if (is != null) { - PROPIEDADES.load(is); - } else { - throw new IllegalStateException("No se encontró application.properties en el classpath"); - } - } catch (IOException e) { - throw new IllegalStateException("Error al cargar application.properties", e); - } - } - - /** - * Obtiene el valor asociado a la clave especificada. - * - * @param clave la clave a buscar - * @return el valor o {@code null} si no existe - */ - public static String obtenerValor(String clave) { - return PROPIEDADES.getProperty(clave); - } -} diff --git a/src/main/java/org/lapaloma/mapamundi/vo/Continente.java b/src/main/java/org/lapaloma/mapamundi/vo/Continente.java index 2d213d9..5e41940 100644 --- a/src/main/java/org/lapaloma/mapamundi/vo/Continente.java +++ b/src/main/java/org/lapaloma/mapamundi/vo/Continente.java @@ -2,7 +2,7 @@ package org.lapaloma.mapamundi.vo; /** * - * Coche: Clase de persistencia que representa un coche de un concesionario. + * Continente: Clase de persistencia que representa un Continente de un Mapa Mundi. * * @author Isidoro Nevares Martín - IES Virgen de la Paloma * @date 03 marzo 2026 diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index ce0e062..69180c0 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,8 +1,13 @@ -spring.datasource.url=${DB_URL} -spring.datasource.username=${DB_USER} -spring.datasource.password=${DB_PASSWORD} -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +# Puerto en que escucha Spring Boot +server.port=8080 -# Parámetros del Pool de conexiones HikariCP +# Servicio de la base de datos. +# Ejemplo url base dator: +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.url=jdbc:mysql://${DB_HOST:192.168.1.36}:${DB_PORT:3306}/${DB_NAME:mapa_mundi} +spring.datasource.username=${DB_USER:root} +spring.datasource.password=${DB_PASSWORD:mysql_123} + +# Parámetros del Pool de conexiones HikariCP spring.datasource.hikari.maximum-pool-size=10 spring.datasource.hikari.minimum-idle=2 \ No newline at end of file