Ejercicio completo desde 0 (II)

Vamos a crear un proyecto web dinámico, creamos una página index.jsp, le ponemos los estilos de bootstrap y ponemos algo del tipo ‘Mantenimiento de préstamos’. Nada más.

En la carpeta de java creamos un paquete ‘com.prestamos.dao’ y dentro vamos a crear un archivo ‘Prestamos.java’ que es un POJO de la tabla préstamos.

Crearemos también un archivo ‘PrestamosDAO.java’ donde crearemos nuestra capa de datos, de momento con la conexión nada más.

Crearemos un archivo ‘TestDAO.java’ con un main para probar. De momento creando un objeto PrestamosDao para ver si se conecta bien.

package com.prestamos.dao;

import java.sql.Date;

// el pojo PRESTAMOS sólo nos sirve para almacenar valores de la base de datos
// Es como un 'pack' donde yo meto toda la información de un registro
public class Prestamos {
	// Lo importante son las propiedades, porque en un POJO el resto de cosas
	// Se generan automáticamente
	private int idprestamos;
	private String nombre;
	private String titulo;
	private Date fecha;
	
	
	@Override
	public String toString() {
		return "Prestamos [idprestamos=" + idprestamos + ", nombre=" + nombre + ", titulo=" + titulo + ", fecha="
				+ fecha + "]";
	}
	
	public Prestamos(int idprestamos, String nombre, String titulo, Date fecha) {
		super();
		this.idprestamos = idprestamos;
		this.nombre = nombre;
		this.titulo = titulo;
		this.fecha = fecha;
	}
	/**
	 * @return the idprestamos
	 */
	public int getIdprestamos() {
		return idprestamos;
	}
	/**
	 * @param idprestamos the idprestamos to set
	 */
	public void setIdprestamos(int idprestamos) {
		this.idprestamos = idprestamos;
	}
	/**
	 * @return the nombre
	 */
	public String getNombre() {
		return nombre;
	}
	/**
	 * @param nombre the nombre to set
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	/**
	 * @return the titulo
	 */
	public String getTitulo() {
		return titulo;
	}
	/**
	 * @param titulo the titulo to set
	 */
	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}
	/**
	 * @return the fecha
	 */
	public Date getFecha() {
		return fecha;
	}
	/**
	 * @param fecha the fecha to set
	 */
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}
	
	
	
}

package com.prestamos.dao;

import java.sql.Connection;
import java.sql.DriverManager;

public class PrestamosDAO {

	// En esta variable almacenamos la conexión a la base de datos
	private Connection con;

	public PrestamosDAO() {
		try {
			// Esta línea registra el driver
			Class.forName("com.mysql.cj.jdbc.Driver");
			// Aquí creamos la conexión con:
			// driver: jdbc:mysql
			// url del servidor: localhost
			// Puerto del servidor: 3306
			// Base de datos: prestamos
			// Usuario: root
			// Contraseña: ""
			con = DriverManager.getConnection("jdbc:mysql://localhost:3306/prestamos", "root", "");

		} catch (Exception ex) {
			System.out.println(ex);
		}
	}
	
}


package com.prestamos.dao;

import java.sql.Date;

public class TestDAO {

	public static void main(String[] args) {
		
		//Creo un POJO con el constructor a ver si va bien
		Prestamos pepe=new Prestamos(1,"hola","adios",Date.valueOf("2021-01-01"));
		
		// Al imprimir el POJO compruebo que el método toString funciona
		System.out.println(pepe);
		
		// También puedo probar los getters
		System.out.println(pepe.getNombre());
		
		// Probamos el objeto DAO. No hace nada, pero si hay error saltará
		PrestamosDAO modelo=new PrestamosDAO();

	}

}