Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
En la capa correspondiente a la vista recogemos nuestros datos de entrada y se los pasaríamos a un enrutado que se los pasaría al Business Object para que lanzase la operación pertiente.
En el siguiente ejemplo he obviado el enrutador y estoy llamando directamente a un método del BO:
if (opt == 1) {
ProfesorBO profesorBO = new ProfesorBO();
System.out.println("Inserta el nombre del profesor");
String nombre = lector.next();
Profesor p = new Profesor();
p.setNombre(nombre);
profesorBO.insertProfesor(p);
}
En el BO establecemos la conexión contra la base de datos, y en caso de que sea neceario, iniciamos una transacción.
A continuación llamamos a uno o varios métodos del DAO que ejecutarán operaciones nucleares y específicas. Por esto, se dice que los DAO son las clases tontas.
public class ProfesorBO {
public void insertProfesor(Profesor p) {
EntityManager em = EntityManagerSingleton.getEntityManager();
em.getTransaction().begin();
ProfesorDAO profesorDAO = new ProfesorDAO();
profesorDAO.insert(em, p);
em.getTransaction().commit();
em.close();
}
En el DAO, ejecutamos la operación contra la base de datos utilizando la conexión (en nuestro caso el EntityManager) que hemos creado en el BO:
public class ProfesorDAO {
public void insert(EntityManager em, Profesor p) {
em.persist(p);
}