Cambios fotmato código

This commit is contained in:
Isidoro Nevares Martín 2026-03-13 10:12:55 +01:00
parent 333caeb664
commit eb283f0e77
4 changed files with 261 additions and 258 deletions

View File

@ -9,156 +9,156 @@ import org.lapaloma.mapamundi.vo.Continente;
public class AppMapaMundi { public class AppMapaMundi {
private Scanner scanner = new Scanner(System.in); private Scanner scanner = new Scanner(System.in);
private IContinenteDAO continenteDAO = new ContinenteDaoJDBC(); private IContinenteDAO continenteDAO = new ContinenteDaoJDBC();
public static void main(String[] args) { public static void main(String[] args) {
AppMapaMundi app = new AppMapaMundi(); AppMapaMundi app = new AppMapaMundi();
app.iniciar(); app.iniciar();
} }
private void iniciar() { private void iniciar() {
String opcion = ""; String opcion = "";
do { do {
mostrarMenu(); mostrarMenu();
opcion = scanner.nextLine(); opcion = scanner.nextLine();
switch (opcion) { switch (opcion) {
case "1": case "1":
crearContinente(); crearContinente();
break; break;
case "2": case "2":
buscarPorCodigo(); buscarPorCodigo();
break; break;
case "3": case "3":
buscarPorNombre(); buscarPorNombre();
break; break;
case "4": case "4":
listarContinentes(); listarContinentes();
break; break;
case "5": case "5":
actualizarContinente(); actualizarContinente();
break; break;
case "6": case "6":
borrarContinente(); borrarContinente();
break; break;
case "S": case "S":
case "s": case "s":
System.out.println("Saliendo de la aplicación..."); System.out.println("Saliendo de la aplicación...");
break; break;
default: default:
System.out.println("Opción no válida"); System.out.println("Opción no válida");
} }
} while (!opcion.equalsIgnoreCase("s")); } while (!opcion.equalsIgnoreCase("s"));
scanner.close(); scanner.close();
} }
private void mostrarMenu() { private void mostrarMenu() {
System.out.println("\n===== MAPA MUNDI - MENÚ ====="); System.out.println("\n===== MAPA MUNDI - MENÚ =====");
System.out.println("1. Crear continente"); System.out.println("1. Crear continente");
System.out.println("2. Buscar continente por código"); System.out.println("2. Buscar continente por código");
System.out.println("3. Buscar continente por nombre"); System.out.println("3. Buscar continente por nombre");
System.out.println("4. Listar todos los continentes"); System.out.println("4. Listar todos los continentes");
System.out.println("5. Actualizar continente"); System.out.println("5. Actualizar continente");
System.out.println("6. Borrar continente"); System.out.println("6. Borrar continente");
System.out.println("S. Salir"); System.out.println("S. Salir");
System.out.print("Seleccione una opción: "); System.out.print("Seleccione una opción: ");
} }
private void crearContinente() { private void crearContinente() {
System.out.print("Código del continente: "); System.out.print("Código del continente: ");
String codigo = scanner.nextLine(); String codigo = scanner.nextLine();
System.out.print("Nombre del continente: "); System.out.print("Nombre del continente: ");
String nombre = scanner.nextLine(); String nombre = scanner.nextLine();
Continente continente = new Continente(); Continente continente = new Continente();
continente.setCodigo(codigo); continente.setCodigo(codigo);
continente.setNombre(nombre); continente.setNombre(nombre);
continenteDAO.crearContinente(continente); continenteDAO.crearContinente(continente);
System.out.println("Continente creado correctamente."); System.out.println("Continente creado correctamente.");
} }
private void buscarPorCodigo() { private void buscarPorCodigo() {
System.out.print("Introduce el código: "); System.out.print("Introduce el código: ");
String codigo = scanner.nextLine(); String codigo = scanner.nextLine();
Continente continente = continenteDAO.obtenerContinentePorClave(codigo); Continente continente = continenteDAO.obtenerContinentePorClave(codigo);
if (continente != null) { if (continente != null) {
System.out.println("Código: " + continente.getCodigo()); System.out.println("Código: " + continente.getCodigo());
System.out.println("Nombre: " + continente.getNombre()); System.out.println("Nombre: " + continente.getNombre());
} else { } else {
System.out.println("No se encontró el continente."); System.out.println("No se encontró el continente.");
} }
} }
private void buscarPorNombre() { private void buscarPorNombre() {
System.out.print("Introduce el nombre: "); System.out.print("Introduce el nombre: ");
String nombre = scanner.nextLine(); String nombre = scanner.nextLine();
List<Continente> lista = continenteDAO.obtenerContinentePorNombre(nombre); List<Continente> lista = continenteDAO.obtenerContinentePorNombre(nombre);
for (Continente c : lista) { for (Continente c : lista) {
System.out.println(c.getCodigo() + " - " + c.getNombre()); System.out.println(c.getCodigo() + " - " + c.getNombre());
} }
} }
private void listarContinentes() { private void listarContinentes() {
List<Continente> lista = continenteDAO.obtenerListaContinentes(); List<Continente> lista = continenteDAO.obtenerListaContinentes();
for (Continente c : lista) { for (Continente c : lista) {
System.out.println(c.getCodigo() + " - " + c.getNombre()); System.out.println(c.getCodigo() + " - " + c.getNombre());
} }
} }
private void actualizarContinente() { private void actualizarContinente() {
System.out.print("Código del continente a actualizar: "); System.out.print("Código del continente a actualizar: ");
String codigo = scanner.nextLine(); String codigo = scanner.nextLine();
System.out.print("Nuevo nombre: "); System.out.print("Nuevo nombre: ");
String nombre = scanner.nextLine(); String nombre = scanner.nextLine();
Continente continente = new Continente(); Continente continente = new Continente();
continente.setCodigo(codigo); continente.setCodigo(codigo);
continente.setNombre(nombre); continente.setNombre(nombre);
continenteDAO.actualizarContinente(continente); continenteDAO.actualizarContinente(continente);
System.out.println("Continente actualizado."); System.out.println("Continente actualizado.");
} }
private void borrarContinente() { private void borrarContinente() {
System.out.print("Código del continente a borrar: "); System.out.print("Código del continente a borrar: ");
String codigo = scanner.nextLine(); String codigo = scanner.nextLine();
Continente continente = new Continente(); Continente continente = new Continente();
continente.setCodigo(codigo); continente.setCodigo(codigo);
continenteDAO.borrarContinente(continente); continenteDAO.borrarContinente(continente);
System.out.println("Continente eliminado."); System.out.println("Continente eliminado.");
} }
} }

View File

@ -13,169 +13,169 @@ import org.lapaloma.mapamundi.vo.Continente;
public class ContinenteDaoJDBC implements IContinenteDAO { public class ContinenteDaoJDBC implements IContinenteDAO {
@Override @Override
public Continente obtenerContinentePorClave(String codigo) { public Continente obtenerContinentePorClave(String codigo) {
Continente continente = null; Continente continente = null;
String sentenciaSQL = """ String sentenciaSQL = """
SELECT * FROM T_CONTINENTE SELECT * FROM T_CONTINENTE
WHERE codigo=? WHERE codigo=?
"""; """;
try (Connection conexion = GestorConexionJDBC.getConexionSGDB(); try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) {
sentenciaJDBCPreparada.setString(1, codigo); sentenciaJDBCPreparada.setString(1, codigo);
System.out.println(sentenciaJDBCPreparada); System.out.println(sentenciaJDBCPreparada);
ResultSet resultadoSentencia = sentenciaJDBCPreparada.executeQuery(); ResultSet resultadoSentencia = sentenciaJDBCPreparada.executeQuery();
if (resultadoSentencia.next()) { if (resultadoSentencia.next()) {
continente = getLineaFromResultSet(resultadoSentencia); continente = getLineaFromResultSet(resultadoSentencia);
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return continente; return continente;
} }
@Override @Override
public Continente actualizarContinente(Continente continente) { public Continente actualizarContinente(Continente continente) {
String sentenciaSQL = """ String sentenciaSQL = """
UPDATE T_CONTINENTE UPDATE T_CONTINENTE
SET nombre_continente=? SET nombre_continente=?
WHERE codigo=? WHERE codigo=?
"""; """;
try (Connection conexion = GestorConexionJDBC.getConexionSGDB(); try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) {
sentenciaJDBCPreparada.setString(1, continente.getNombre()); sentenciaJDBCPreparada.setString(1, continente.getNombre());
sentenciaJDBCPreparada.setString(2, continente.getCodigo()); sentenciaJDBCPreparada.setString(2, continente.getCodigo());
System.out.println(sentenciaJDBCPreparada); System.out.println(sentenciaJDBCPreparada);
sentenciaJDBCPreparada.executeUpdate(); sentenciaJDBCPreparada.executeUpdate();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return continente; return continente;
} }
@Override @Override
public Continente crearContinente(Continente continente) { public Continente crearContinente(Continente continente) {
String sentenciaSQL = """ String sentenciaSQL = """
INSERT INTO T_CONTINENTE (codigo, nombre_continente) INSERT INTO T_CONTINENTE (codigo, nombre_continente)
VALUES (?, ?) VALUES (?, ?)
"""; """;
try (Connection conexion = GestorConexionJDBC.getConexionSGDB(); try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) {
sentenciaJDBCPreparada.setString(1, continente.getCodigo()); sentenciaJDBCPreparada.setString(1, continente.getCodigo());
sentenciaJDBCPreparada.setString(2, continente.getNombre()); sentenciaJDBCPreparada.setString(2, continente.getNombre());
System.out.println(sentenciaJDBCPreparada); System.out.println(sentenciaJDBCPreparada);
sentenciaJDBCPreparada.executeUpdate(); sentenciaJDBCPreparada.executeUpdate();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return continente; return continente;
} }
@Override @Override
public void borrarContinente(Continente continente) { public void borrarContinente(Continente continente) {
String sentenciaSQL = """ String sentenciaSQL = """
DELETE FROM T_CONTINENTE DELETE FROM T_CONTINENTE
WHERE codigo=? WHERE codigo=?
"""; """;
try (Connection conexion = GestorConexionJDBC.getConexionSGDB(); try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) {
sentenciaJDBCPreparada.setString(1, continente.getCodigo()); sentenciaJDBCPreparada.setString(1, continente.getCodigo());
sentenciaJDBCPreparada.executeUpdate(); sentenciaJDBCPreparada.executeUpdate();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
@Override @Override
public List<Continente> obtenerListaContinentes() { public List<Continente> obtenerListaContinentes() {
List<Continente> lista = new ArrayList<>(); List<Continente> lista = new ArrayList<>();
String sentenciaSQL = """ String sentenciaSQL = """
SELECT * FROM T_CONTINENTE SELECT * FROM T_CONTINENTE
"""; """;
try (Connection conexion = GestorConexionJDBC.getConexionSGDB(); try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) {
System.out.println(sentenciaJDBCPreparada); System.out.println(sentenciaJDBCPreparada);
ResultSet resultadoSentencia = sentenciaJDBCPreparada.executeQuery(); ResultSet resultadoSentencia = sentenciaJDBCPreparada.executeQuery();
while (resultadoSentencia.next()) { while (resultadoSentencia.next()) {
lista.add(getLineaFromResultSet(resultadoSentencia)); lista.add(getLineaFromResultSet(resultadoSentencia));
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return lista; return lista;
} }
@Override @Override
public List<Continente> obtenerContinentePorNombre(String nombre) { public List<Continente> obtenerContinentePorNombre(String nombre) {
List<Continente> lista = new ArrayList<>(); List<Continente> lista = new ArrayList<>();
String sentenciaSQL = """ String sentenciaSQL = """
SELECT * FROM T_CONTINENTE SELECT * FROM T_CONTINENTE
WHERE nombre_continente LIKE ? WHERE nombre_continente LIKE ?
"""; """;
try (Connection conexion = GestorConexionJDBC.getConexionSGDB(); try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) { 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()) { while (resultadoSentencia.next()) {
lista.add(getLineaFromResultSet(resultadoSentencia)); lista.add(getLineaFromResultSet(resultadoSentencia));
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); 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.setCodigo(resultadoSentencia.getString("codigo"));
continente.setNombre(resultadoSentencia.getString("nombre_continente")); continente.setNombre(resultadoSentencia.getString("nombre_continente"));
return continente; return continente;
} }
} }

View File

@ -5,25 +5,25 @@ import java.sql.DriverManager;
public class GestorConexionJDBC { public class GestorConexionJDBC {
// Evita que pueda construirse un objeto de la clase. // Evita que pueda construirse un objeto de la clase.
private GestorConexionJDBC() { private GestorConexionJDBC() {
} }
public static Connection getConexionSGDB() throws Exception { public static Connection getConexionSGDB() throws Exception {
Connection conexionSGDB = null; Connection conexionSGDB = null;
// Datos URL // Datos URL
String urlBBDD = GestorFicheroConfiguracion.obtenerValor("jdbc.url"); String urlBBDD = GestorFicheroConfiguracion.obtenerValor("jdbc.url");
String usuario = GestorFicheroConfiguracion.obtenerValor("jdbc.usuario"); String usuario = GestorFicheroConfiguracion.obtenerValor("jdbc.usuario");
String contrasenya = GestorFicheroConfiguracion.obtenerValor("jdbc.password"); String contrasenya = GestorFicheroConfiguracion.obtenerValor("jdbc.password");
String claseDriver = GestorFicheroConfiguracion.obtenerValor("jdbc.driver"); String claseDriver = GestorFicheroConfiguracion.obtenerValor("jdbc.driver");
Class.forName(claseDriver); Class.forName(claseDriver);
conexionSGDB = DriverManager.getConnection(urlBBDD, usuario, contrasenya); conexionSGDB = DriverManager.getConnection(urlBBDD, usuario, contrasenya);
return conexionSGDB; return conexionSGDB;
} }
} }

View File

@ -13,32 +13,35 @@ public class Continente {
private String codigo; private String codigo;
private String nombre; private String nombre;
public Continente(String codigo, String nombre) { public Continente(String codigo, String nombre) {
super(); super();
this.codigo = codigo; this.codigo = codigo;
this.nombre = nombre; this.nombre = nombre;
} }
public Continente() {
super();
}
public Continente() {
super();
}
public String getCodigo() { public String getCodigo() {
return codigo; return codigo;
} }
public void setCodigo(String codigo) {
this.codigo = codigo; public void setCodigo(String codigo) {
} this.codigo = codigo;
public String getNombre() { }
return nombre;
} public String getNombre() {
public void setNombre(String nombre) { return nombre;
this.nombre = nombre; }
}
@Override public void setNombre(String nombre) {
public String toString() { this.nombre = nombre;
return "Coche [codigo=" + codigo + ", nombre=" + nombre + "]"; }
}
@Override
public String toString() {
return "Coche [codigo=" + codigo + ", nombre=" + nombre + "]";
}
} }