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 {
private Scanner scanner = new Scanner(System.in);
private IContinenteDAO continenteDAO = new ContinenteDaoJDBC();
private Scanner scanner = new Scanner(System.in);
private IContinenteDAO continenteDAO = new ContinenteDaoJDBC();
public static void main(String[] args) {
AppMapaMundi app = new AppMapaMundi();
app.iniciar();
}
public static void main(String[] args) {
AppMapaMundi app = new AppMapaMundi();
app.iniciar();
}
private void iniciar() {
private void iniciar() {
String opcion = "";
String opcion = "";
do {
do {
mostrarMenu();
opcion = scanner.nextLine();
mostrarMenu();
opcion = scanner.nextLine();
switch (opcion) {
switch (opcion) {
case "1":
crearContinente();
break;
case "1":
crearContinente();
break;
case "2":
buscarPorCodigo();
break;
case "2":
buscarPorCodigo();
break;
case "3":
buscarPorNombre();
break;
case "3":
buscarPorNombre();
break;
case "4":
listarContinentes();
break;
case "4":
listarContinentes();
break;
case "5":
actualizarContinente();
break;
case "5":
actualizarContinente();
break;
case "6":
borrarContinente();
break;
case "6":
borrarContinente();
break;
case "S":
case "s":
System.out.println("Saliendo de la aplicación...");
break;
case "S":
case "s":
System.out.println("Saliendo de la aplicación...");
break;
default:
System.out.println("Opción no válida");
}
default:
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("1. Crear continente");
System.out.println("2. Buscar continente por código");
System.out.println("3. Buscar continente por nombre");
System.out.println("4. Listar todos los continentes");
System.out.println("5. Actualizar continente");
System.out.println("6. Borrar continente");
System.out.println("S. Salir");
System.out.print("Seleccione una opción: ");
}
System.out.println("\n===== MAPA MUNDI - MENÚ =====");
System.out.println("1. Crear continente");
System.out.println("2. Buscar continente por código");
System.out.println("3. Buscar continente por nombre");
System.out.println("4. Listar todos los continentes");
System.out.println("5. Actualizar continente");
System.out.println("6. Borrar continente");
System.out.println("S. Salir");
System.out.print("Seleccione una opción: ");
}
private void crearContinente() {
private void crearContinente() {
System.out.print("Código del continente: ");
String codigo = scanner.nextLine();
System.out.print("Código del continente: ");
String codigo = scanner.nextLine();
System.out.print("Nombre del continente: ");
String nombre = scanner.nextLine();
System.out.print("Nombre del continente: ");
String nombre = scanner.nextLine();
Continente continente = new Continente();
continente.setCodigo(codigo);
continente.setNombre(nombre);
Continente continente = new Continente();
continente.setCodigo(codigo);
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: ");
String codigo = scanner.nextLine();
System.out.print("Introduce el código: ");
String codigo = scanner.nextLine();
Continente continente = continenteDAO.obtenerContinentePorClave(codigo);
Continente continente = continenteDAO.obtenerContinentePorClave(codigo);
if (continente != null) {
System.out.println("Código: " + continente.getCodigo());
System.out.println("Nombre: " + continente.getNombre());
} else {
System.out.println("No se encontró el continente.");
}
}
if (continente != null) {
System.out.println("Código: " + continente.getCodigo());
System.out.println("Nombre: " + continente.getNombre());
} else {
System.out.println("No se encontró el continente.");
}
}
private void buscarPorNombre() {
private void buscarPorNombre() {
System.out.print("Introduce el nombre: ");
String nombre = scanner.nextLine();
System.out.print("Introduce el nombre: ");
String nombre = scanner.nextLine();
List<Continente> lista = continenteDAO.obtenerContinentePorNombre(nombre);
List<Continente> lista = continenteDAO.obtenerContinentePorNombre(nombre);
for (Continente c : lista) {
System.out.println(c.getCodigo() + " - " + c.getNombre());
}
}
for (Continente c : lista) {
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) {
System.out.println(c.getCodigo() + " - " + c.getNombre());
}
}
for (Continente c : lista) {
System.out.println(c.getCodigo() + " - " + c.getNombre());
}
}
private void actualizarContinente() {
private void actualizarContinente() {
System.out.print("Código del continente a actualizar: ");
String codigo = scanner.nextLine();
System.out.print("Código del continente a actualizar: ");
String codigo = scanner.nextLine();
System.out.print("Nuevo nombre: ");
String nombre = scanner.nextLine();
System.out.print("Nuevo nombre: ");
String nombre = scanner.nextLine();
Continente continente = new Continente();
continente.setCodigo(codigo);
continente.setNombre(nombre);
Continente continente = new Continente();
continente.setCodigo(codigo);
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: ");
String codigo = scanner.nextLine();
System.out.print("Código del continente a borrar: ");
String codigo = scanner.nextLine();
Continente continente = new Continente();
continente.setCodigo(codigo);
Continente continente = new Continente();
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 {
@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 = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) {
try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
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 Continente actualizarContinente(Continente continente) {
@Override
public Continente 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 = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) {
try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
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();
}
return continente;
}
return continente;
}
@Override
public Continente crearContinente(Continente continente) {
@Override
public Continente 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 = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) {
try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
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();
}
return continente;
}
return continente;
}
@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 = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) {
try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
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<Continente> obtenerListaContinentes() {
@Override
public List<Continente> obtenerListaContinentes() {
List<Continente> lista = new ArrayList<>();
List<Continente> lista = new ArrayList<>();
String sentenciaSQL = """
SELECT * FROM T_CONTINENTE
""";
String sentenciaSQL = """
SELECT * FROM T_CONTINENTE
""";
try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) {
try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
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<Continente> obtenerContinentePorNombre(String nombre) {
@Override
public List<Continente> obtenerContinentePorNombre(String nombre) {
List<Continente> lista = new ArrayList<>();
List<Continente> 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 = GestorConexionJDBC.getConexionSGDB();
PreparedStatement sentenciaJDBCPreparada = conexion.prepareStatement(sentenciaSQL);) {
try (Connection conexion = GestorConexionJDBC.getConexionSGDB();
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;
}
}

View File

@ -5,25 +5,25 @@ import java.sql.DriverManager;
public class GestorConexionJDBC {
// Evita que pueda construirse un objeto de la clase.
private GestorConexionJDBC() {
}
// Evita que pueda construirse un objeto de la clase.
private GestorConexionJDBC() {
}
public static Connection getConexionSGDB() throws Exception {
Connection conexionSGDB = null;
public static Connection getConexionSGDB() throws Exception {
Connection conexionSGDB = null;
// Datos URL
String urlBBDD = GestorFicheroConfiguracion.obtenerValor("jdbc.url");
// Datos URL
String urlBBDD = GestorFicheroConfiguracion.obtenerValor("jdbc.url");
String usuario = GestorFicheroConfiguracion.obtenerValor("jdbc.usuario");
String contrasenya = GestorFicheroConfiguracion.obtenerValor("jdbc.password");
String usuario = GestorFicheroConfiguracion.obtenerValor("jdbc.usuario");
String contrasenya = GestorFicheroConfiguracion.obtenerValor("jdbc.password");
String claseDriver = GestorFicheroConfiguracion.obtenerValor("jdbc.driver");
Class.forName(claseDriver);
String claseDriver = GestorFicheroConfiguracion.obtenerValor("jdbc.driver");
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 nombre;
public Continente(String codigo, String nombre) {
super();
this.codigo = codigo;
this.nombre = nombre;
}
public Continente(String codigo, String nombre) {
super();
this.codigo = codigo;
this.nombre = nombre;
}
public Continente() {
super();
}
public Continente() {
super();
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
@Override
public String toString() {
return "Coche [codigo=" + codigo + ", nombre=" + nombre + "]";
}
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
@Override
public String toString() {
return "Coche [codigo=" + codigo + ", nombre=" + nombre + "]";
}
}