Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AP7-AA3-Ev1-Desarrollo Del Tutorial Construcción de Aplicación Con Java
AP7-AA3-Ev1-Desarrollo Del Tutorial Construcción de Aplicación Con Java
INTRODUCCIÓN 02
Sesión 1: Construyendo la base de datos 03
Sesión 2: Desarrollando la Interfaz Gráfica de Usuario (GUI) 25
Sesión 3: Creando el Modelo de la Aplicación 46
Sesión 4: Enlazando con el Controlador 56
Sesión 5: Probando el Modelo Vista Controlador MVC 70
Sesión 6: Accediendo a la Base de Datos con JDBC 78
Sesión 7: Accediendo a la Base de Datos con JPA 89
Sesión 8: Generando reportes impresos 108
TUTORIAL PARA CREAR APLICACIONES CON JAVA
INTRODUCCIÓN
7
FAVA - Formación en Ambientes Virtuales de Aprendizaje
2. Creación de un usuario y su esquema de base de datos:
8
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Introducimos en los campos Nombre de Usuario, Contraseña y Con-
firmar Contraseña la palabra citas y hacemos click en Crear, de esta forma
habremos creado un nuevo usuario llamado citas, el cual posee una con-
traseña con su mismo nombre y es propietario del esquema citas donde se
almacenarán los objetos requeridos:
10
3. Construcción de la estructura de almacenamiento (base de datos):
11
• Ingresamos el nombre de la tabla, los nombres de cada uno de sus
campos, sus respectivos tipos de datos, tamaños y restricciones. A
continuación se presentan los datos para la tabla PACIENTES, hacemos
click en Siguiente:
12
• El siguiente paso es establecer las claves ajenas que tiene la tabla,
para el caso de la tabla PACIENTES, esta no posee claves ajenas, por lo
que solamente hacemos click en Siguiente:
13
• Por último hacemos click en Crear y de esta manera habremos
terminado de crear la tabla PACIENTES de nuestra base de datos:
14
• Establecemos su clave primaria:
16
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Una Secuencia en Oracle es un objeto que permite rellenar
la información de un campo de manera automática,
respondiendo a unas reglas preestablecidas. Con las
secuencias se pueden crear campos autonuméricos.
17
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Ahora creamos la tabla TRATAMIENTOS, definimos los campos:
18
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Al hacer click en Agregar, podemos observar que la clave ajena
queda asignada a la tabla:
Tutorial Crear Aplicación JAVA
Para crear la tabla CITAS, realizamos los mismos pasos que con la tabla
TRATAMIENTOS, definimos una secuencia, los campos, su Clave Primaria
y sus Claves Ajenas, que en este caso son tres (CitPaciente, CitMedico y
CitConsultorio)
Name PrincipalJFrame
• Arrastramos desde la paleta de controles un control de tipo Menu
Bar, el cual ponemos sobre el PrincipalJFrame:
jMenuItem1 Salir
jMenuItem2 Registrar
jMenuItem3 Consultar
33
FAVA - Formación en Ambientes Virtuales de Aprendizaje
DISEÑO DEL FORMULARIO PARA EL REGISTRO DE PACIENTES
34
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Ingresamos el nombre RegPacienteInternalFrame y hacemos click
en Finish:
35
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Control Propiedad Valor
36
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Descargar de la siguiente dirección:
http://www.toedter.com/en/jcalendar/ el archivo jcalendar-1.4.zip
37
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Hacer click en el botón New Category, ingresar un nombre para la
categoría, en este caso Swing Date y hacer click en el botón OK:
38
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Seleccionamos los componentes que queremos cargar en la paleta
de controles, en este caso los seleccionamos todos. Cada componente es
un control que se agregará a la ficha Swing Date. Hacemos click en Next:
39
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Finalmente hacemos click en Close:
40
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Ahora que disponemos de nuevos controles para el manejo de
fechas, arrastramos uno de ellos, en este caso el control JDateChooser y
lo ubicamos en el formulario de registro de clientes frente al título Fecha
de Nacimiento:
41
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Observemos como los campos del formulario coinciden con los campos de
la tabla PACIENTES en la Base de Datos
42
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• El diseño del nuevo formulario es el siguiente:
buttonGroup1
JRadioButton1 text Identificación
buttonGroup buttonGroup1
JRadioButton2 text Nombres
buttonGroup buttonGroup1
JRadioButton3 text Apellidos
buttonGroup buttonGroup1
JRadioButton4 text Sexo
buttonGroup buttonGroup1
JLabel1 text Valor a buscar
JTextfield1 text
name ValorTxt
JButton1 text Aceptar
name AceptarBtn
JTable1 name ResultadosTbl
43
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Para verificar el resultado parcial de la interface gráfica, hacemos
click en el botón Preview Design:
44
FAVA - Formación en Ambientes Virtuales de Aprendizaje
•
45
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SESIÓN 3: CREANDO EL MODELO DE LA APLICACIÓN
Teniendo la Base de Datos y los formularios de la aplicación construidos (la
vista), es hora de pasar al modelo, el modelo está conformado por las
clases que forman parte del dominio de la aplicación
46
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Para el desarrollo del sistema completo, seguramente necesitaremos
varias clases formando parte del modelo como: Paciente, Cita,
Tratamiento, Medico, sin embargo, para nuestro caso de uso particular
Administrar datos Paciente solo requeriremos la clase Paciente, encargada
de manejar la información de un determinado paciente y la clase
GestorPaciente que será la encargada de ejecutar operaciones que afectan
a varios pacientes.
47
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Sobre el nuevo paquete creado modelo, hacer click derecho y
seleccionar del menú contextual la opción New Java Class:
48
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Borrar los comentarios e ingresar los atributos de la clase:
49
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Hacer click derecho sobre el código y seleccionar del menú
contextual la opción Refactor Encapsulate Fields:
50
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• De esta forma aparecen todos los métodos Getters y Setters
asociados a los atributos definidos en la clase Paciente:
51
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Un método Getter es aquel que retorna el valor de un
atributo, por ejemplo, getNombres es un método que retorna
los nombres de un paciente. Un método Setter es aquel que
se emplea para modificar el valor de un atributo, por ejemplo,
setNombres es un método que modifica el nombre de un
paciente. El prefijo get y set forman parte de una convención
empleada en Java conocida como JavaBeans.
52
FAVA - Formación en Ambientes Virtuales de Aprendizaje
CREACIÓN DE LA CLASE GESTORPACIENTE
53
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• El código de esta nueva clase es el siguiente:
54
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Explicación del código:
Línea Explicación
55
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SESIÓN 4: ENLAZANDO CON EL CONTROLADOR
Ahora que la aplicación cuenta con la Vista que proporciona los formularios
requeridos para interactuar con el usuario (PrincipalJFrame, RegPacien-
teInternalFrame y ConsPacienteInternalFrame) y cuenta con el Modelo,
conformado por las clases del dominio de la aplicación (Paciente y Gestor-
Paciente), es el momento de crear las clases del Controlador, estas clases
gestionarán las solicitudes de la Vista y darán respuesta a las mismas
recurriendo a las clases del Modelo. Este mecanismo de interacción multi-
capas se conoce como el patrón Modelo Vista Controlador (MVC).
56
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Abrimos el formulario RegPacienteInternalFrame que se encuentra
en el paquete vista y hacemos click derecho sobre el primer cuadro de
texto. Del menú contextual seleccionamos la opción Properties:
57
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Hacer click derecho en las demás cajas de texto, el control
JdateChooser y los controles JRadioButton y repetir el proceso para los
campos nombres, apellidos, fecha de nacimiento y sexo, al igual que para
los botones de Registrar y Nuevo tal como se presenta en las siguientes
imágenes:
58
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Creamos un nuevo paquete llamado controlador dentro del proyecto
ProyectoCitas:
59
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Haciendo click derecho sobre el paquete controlador recién creado,
seleccionamos del menú contextual New Java Class
60
FAVA - Formación en Ambientes Virtuales de Aprendizaje
El código expuesto no posee comentarios ni responde a un estándar
de codificación establecido. Es recomendable tener en cuenta estos
aspectos en los proyectos de acuerdo con las sugerencias del tutor.
61
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Explicación del código:
Línea Explicación
Importación de paquetes para el manejo del evento click del botón
3,4
Registrar formulario Registro de Pacientes
Importación de la clase SimpleDataFormat para dar formato
5
a la fecha de nacimiento recibida desde la vista
ActionListener es la interfaz que se debe implementar para
7
escuchar eventos
Declaración de variables asociadas a la vista y al modelo.
9, 10, 11
El controlador debe conocer a la vista y al modelo para poder
comunicarse con ellos
El constructor de la clase controladora recibe como parámetro
13
la vista que debe controlar
15, 16 Creación de las variables asociadas a la vista y el modelo
Anotación que indica que el método actionPerformed se está
18
sobreescribiendo
Método de la interfaz ActionListener que se debe implementar.
19 Este método se ejecuta cuando se hace click en el botón Registrar
del formulario Registro de Pacientes
Verifica si fue el botón Registrar del formulario Registro de
21
Pacientes el que generó el evento
Captura de la información ingresada por el usuario en el formulario
23....32
Registro de Pacientes
Creación de un objeto de tipo Paciente a partir de los datos
33
ingresados por el usuario
Registro del paciente creado a través de la clase GestorPaciente
34
del modelo
Verifica si fue el botón Nuevo del formulario Registro de
36
Pacientes el que generó el evento
Borra los contenidos de los controles del formulario Registro de
38....44
Pacientes
62
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Al igual que ocurrió con el formulario de Registro de Pacientes, debemos
tener acceso a los elementos del formulario Consulta de Pacientes desde
el controlador.
63
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• En la ventana de propiedades seleccionamos la ficha Code y en ella
realizamos los cambios a las propiedades Variable Name y Variable
Modifiers, ingresando los valores IdentificacionOpt y public
respectivamente:
64
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Ahora que ya tenemos acceso a los controles del formulario Consultar
Pacientes por ser públicos, procedemos a crear la clase controladora.
65
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Creamos una nueva clase dentro del paquete controlador con el
nombre GestorPacienteControl y hacemos click en Finish:
Línea Explicación
La clase debe poder escchar eventos de la vista, en este caso el
7
evento click del botón Aceptar del formulario Consulta de Pacientes
Declaración de variables asociadas a la vista y al modelo. El controlador
9, 10
debe conocer a la vista y al modelo para poder comunicarse con ellos.
El constructor de la clase controladora recibe como parámetro la vista
12
que debe controlar.
14, 15 Creación de las variables asociadas a la vista y el modelo
Anotación que indica que el método actionPerformed se está
17
sobreescribiendo
Método que se ejecuta cuando el usuario hace click en el botón Aceptar
18
del formulario Consulta de Pacientes
Captura del valor introducido por el usuario en la caja de texto del
20
formulario Consulta de Pacientes
66
FAVA - Formación en Ambientes Virtuales de Aprendizaje
•
67
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Explicación del código (continuación):
Línea Explicación
Declaración e inicialización de la variable que va a indicar el criterio de
21 búsqueda seleccionado por el usuario (Identificación, Nombres, Apellidos
o Sexo) en el formulario Consulta de Pacientes
Borrado de todas las filas del TableModel asociado al JTable donde
22 se presentan los resultados de la consulta en el formulario Consulta
de Pacientes
Actualización del JTable, esto hace que el JTable quede vacío para
23, 42
poder ser cargado posteriormente con los resultados de la consulta
Captura de la opción de búsqueda seleccionada por el usuario en el
24..31 formulario Consulta de Pacientes, de acuerdo a esa opción se asigna
un valor a la variable parámetro
Captura de los pacientes devueltos por el modelo de acuerdo con los
32
criterios de búsqueda proporcionados por el usuario
Recorrido de cada uno de los pacientes retornados por el modelo a
34
partir de la consulta realizada
Asignación de los valores de cada paciente al arreglo que se cargará
36..40
en el TableModel
Adición de una nueva fila al TableModel cuyo contenido es la
41
información del arreglo
68
FAVA - Formación en Ambientes Virtuales de Aprendizaje
El paquete controlador finalmente queda conformado por dos clases
PacienteControl que recoge la información de cada paciente ingresado por
el usuario en la vista y lo registra en el modelo y la clase
GestorPacienteControl que se encarga de recibir de la vista los parámetros
de búsqueda, consultar en el modelo los pacientes que cumplen con esos
parámetros y regresar a la vista los resultados obtenidos.
69
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SESIÓN 5: PROBANDO EL MODELO VISTA
CONTROLADOR (MVC)
Durante la sesión 2, 3 y 4 creamos los diferentes componentes que hacen
parte del Modelo Vista Controlador (MVC) Sesión 2: La vista, Sesión 3: El
modelo, Sesión 4: El controlador.
70
FAVA - Formación en Ambientes Virtuales de Aprendizaje
En esta sesión vamos a realizar los ajustes finales a la vista para vincularla
con el controlador y así poder ejecutar la aplicación.
Inicialmente vamos a adicionar los formularios internos (Registro de
Pacientes y Consulta de Pacientes) al formulario principal.
Línea Explicación
4, 5 Declaración de objetos asociados a los formularios internos
8, 9 Instanciación de los objetos asociados a los formularios internos
10, 11 Adición de los formularios internos al formulario principal
13 Instrucción para que el formulario principal se presente maximizado
Ahora vamos a escribir el código necesario para que al hacer click en los
menús del formulario principal se presenten los formularios internos
correspondientes.
71
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• De esa manera nos ubicamos en el método que se ejecuta al hacer
click sobre el menú Salir, en ese espacio ingresamos el código para salir
de una aplicación en java:
72
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• El código del formulario principal debe tener un aspecto semejante
al siguiente:
73
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Explicación del código:
Línea Explicación
5 Declaración del objeto que controla el formulario
10 Instanciación del objeto que controla el formulario y gestiona sus eventos
Indica que el objeto pacienteControlador es el encargado de gestionar
11, 12
los eventos que se generen en los botones Registrar y Nuevo
74
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Explicación del código:
Línea Explicación
Importación de la clase DefaultTableModel que se emplea para establecer
3
la configuración del objeto JTable
7 Declaración del objeto que controla el formulario Consulta de Pacientes
8 Declaración del objeto que configura y gestiona la información del JTable
13 Instanciación del objeto que controla el formulario y gestiona sus eventos
Creación del arreglo que contiene los títulos del JTable donde se presentan
14
los resultados de las consultas
15 Instanciación del TableModel con los títulos requeridos
16 Asignación del TableModel al JTable
Indica que el objeto gestorpacienteControl es el encargado de gestionar
17 los eventos que se generen en el botón Aceptar del formulario Consulta
de Pacientes
Método que retorna el objeto TableModel asociado al JTable para ser
19.. 22
manipulado desde la clase controladora
75
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Por último, hacemos click derecho sobzre la clase PrincipalJFrame y
seleccionamos del menú contextual la opción Run File:
76
FAVA - Formación en Ambientes Virtuales de Aprendizaje
•
77
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SESIÓN 6: ACCEDIENDO A LA BASE DE DATOS CON JDBC
78
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Descargar el driver JDBC para Oracle ojdbc6.jar de la siguiente
dirección:
http://www.oracle.com/technetwork/database/enterprise-editi
on/jdbc-112010-090769.html
79
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Hacer click derecho sobre Databases y en ella seleccionar del menú
contextual la opción New Connection…
80
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• En la siguiente ventana, ingresar los siguientes valores de
configuración:
81
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Para comprobar la conexión, hacer click en el botón Test Connection
y verificar que aparece el mensaje Connection Succeded, hacer click en
Next:
82
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Seleccionamos el esquema CITAS y hacemos click en el botón
Finish:
83
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Lo anterior permite comprobar que efectivamente la aplicación que
se está desarrollando en Java tiene conexión con la Base de Datos Oracle
y reconoce sus diferentes objetos del esquema.
84
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• El código de la clase Conexión es el siguiente:
85
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Explicación del código:
Línea Explicación
Importación del paquete sql para hacer uso de las clases que permiten
3
hacer la conexión con la base de datos
4 Importación de la clase JOptionPane empleada para presentar un mensaje
al usuario cuando la conexión es incorrecta
8 Atributos requeridos para hacer la conexión con la base de datos
Se reciben los parámetros ip, que indica la dirección ip donde reside el
servidor de bases de datos, si es local, se define como “localhost”, los
13.. 17 parámetros usr y pass se refieren a el usuario y password de acceso al
esquema, driver y url son cadenas de conexión usadas de manera particular
para conexiones con bases de datos oracle
20 Registro del driver en la aplicación
21 Creación de la conexión con la base de datos
28.. 31 Retorna la conexión establecida
32.. 37 Cierre de la conexión creada
86
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Explicación del código:
Línea Explicación
Declaración de un objeto de tipo Connection que recibe la conexión
9
con la base de datos
87
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Explicación del código:
Línea Explicación
36 LinkedList para retornar los pacientes consultados de la base de datos
De acuerdo con el parámetro de búsqueda se configura la consulta específica
38.. 48
(buscar por la identificación, por el nombre, por el apellido o por el sexo)
20 Se ejecuta la consulta
Recorre los resultados de la consulta, con cada registro devuelto se crea un
21.. 25
paciente nuevo , el cual se almacena en el LinkedList que será retornado
Retorno del LinkedList que posee a todos los pacientes que cumplen con
26
el criterio de búsqueda enviado al método
88
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Después de realizados los cambios en la clase GestorPaciente que
corresponde al modelo, podemos compilar y ejecutar la aplicación,
notaremos que no se hace necesario realizar cambios en las otras capas
de la aplicación y que ahora el almacenamiento de los pacientes
registrados y las consultas de los mismos se realiza sobre la base de
datos.
89
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SESIÓN 7: ACCEDIENDO A LA BASE DE DATOS CON JPA
90
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Antes de iniciar, es recomendable realizar una copia de la carpeta del
proyecto ProyectoCitas, renombrar la copia como ProyectoCitas2 y abrir
esta última desde Netbeans, con esto, los cambios efectuados en el
proyecto no afectarán el proyecto respaldado.
91
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• A continuación, creamos una unidad de persistencia, hacemos click
derecho sobre el proyecto ProyectoCitas y seleccionamos del menú
contextual la opción New Other:
92
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Seleccionamos de la ventana la categoría Persistence y el tipo de
archivo Persistence Unit y hacemos click en Next:
93
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Automáticamente se crea la unidad de persistencia, conformada por
un archivo xml llamado persistence.xml dentro de una carpeta META-INF.
Este archivo persistence.xml contiene información relacionada con la base
de datos y las librerías JPA:
94
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• En la siguiente ventana se selecciona la conexión de base de datos
ya establecida anteriormente, de esta forma, se cargan las tablas de la
base de datos, seleccionamos la tabla que nos interesa en nuestra
aplicación PACIENTES y hacemos click en Next:
95
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• En la siguiente ventana, quitamos la selección de los checkBox y
hacemos click en Next:
96
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Observamos que la clase Pacientes ha sido creada dentro del
paquete modelo:
97
FAVA - Formación en Ambientes Virtuales de Aprendizaje
98
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Una vez creada la Clase de Entidad, se debe crear la clase que controle a
esta entidad, es decir, requerimos de una clase que permita ejecutar
operaciones sobre los pacientes como por ejemplo agregarlos,
modificarlos o consultarlos.
99
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Seleccionamos la clase de entidad que existe en nuestro proyecto
Pacientes y hacemos click en el botón Next:
100
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Por último seleccionamos el paquete modelo y hacemos click en
Finish:
101
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• De esta manera, se crea de manera automática la clase
PacientesJpaController, esta clase contiene métodos como create, edit,
destroy y find que se emplean para insertar, modificar, eliminar y
consultar pacientes de la base de datos respectivamente.
102
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Ahora que hemos creado las clases Pacientes y
PacientesJpaController con la api JPA, solo resta hacer uso de ellas desde
las clases del paquete controlador de nuestro proyecto. Para eso,
debemos modificar algunas partes del código de las clases PacienteControl
y GestorPacienteControl del paquete controlador para que usen los
métodos de las clases Pacientes y PacientesJpaController creadas a través
del asistente.
Línea Explicación
Declaración del objeto de tipo JpaController que permite realizar
16
operaciones contra la base de datos
21 Definición de la unidad de persistencia empleada
Creación del objeto de tipo JpaController que realizará operaciones contra
22
la base de datos
Creación de un objeto de la clase Pacientes que se encuentra mapeada
40
con la tabla Pacientes de la base de datos
41.. 45 Asignación de valores a los atributos de la clase Pacientes
Uso del objeto de tipo PacientesJpaController para insertar un nuevo
48
paciente en la tabla PACIENTES a través del método create
103
FAVA - Formación en Ambientes Virtuales de Aprendizaje
La clase PacienteControl cambió un poco su código para hacer uso de la
clase PacientesJpaController y gracias a esto, la inserción de pacientes en
la base de datos se realiza de manera más directa y sin utilizar el lenguaje
SQL.
104
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Abrimos la clase GestorPacienteControl y realizamos los siguientes
cambios en su código:
Línea Explicación
Declaración del objeto de tipo JpaController que permite realizar operaciones
11
contra la base de datos
17 Definición de la unidad de persistencia empleada
Creación del objeto de tipo JpaController que realizará operaciones contra
18
la base de datos
Se obtienen todos los pacientes de la base de datos haciendo uso del método
35
findPacientesEntities() de la clase PacientesJpaController
Recorrido de cada paciente obtenido y si coincide con el criterio y valor de
36.. 53 búsqueda, se envía al método mostrarEnTabla para que sea presentado en
el JTable del formulario Consulta de Pacientes
Método que recibe un paciente y presenta su información en el formulario
55.. 65
Consulta de Pacientes
105
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Antes de ejecutar la aplicación, es necesario agregar el driver de conexión
Oracle a nuestro proyecto, con el fin de ser reconocido por la unidad de
persistencia.
106
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Hacemos click derecho sobre la carpeta Libraries de nuestro
proyecto y seleccionamos del menú contextual la opción Add JAR/Folder…
107
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Nuestro proyecto ya ha quedado listo, al ejecutarlo el funcionamiento
debe ser el mismo que obtuvimos en la sesión 6, con acceso a la base de
datos, pero en lugar de usar JDBC, usamos JPA
108
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SESIÓN 8: GENERANDO REPORTES IMPRESOS
109
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Los plugins necesarios están conformados por los siguientes
archivos:
110
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Seleccionamos la pestaña Downloaded y luego hacemos click en el
botón Add Plugins, posteriormente buscamos los archivos descargados y
hacemos click en el botón Abrir:
111
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Al terminar la instalación, hacemos click en el botón Finish:
112
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Ingresamos al menú Tools Libraries:
113
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Luego de verificar lo anterior, pasaremos a realizar una prueba de
conexión del componente ireport contra la base de datos, para ello,
hacemos click en el botón de Report DataSources:
114
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• En la siguiente ventana, ingresamos un nombre para nuestra
conexión que puede ser cualquiera, en este caso ReportesCitas,
seleccionamos el JDBC Driver de Oracle Oracle
(oracle.jdbc.driver.OracleDriver), ajustamos el JDBC URL
jdbc:oracle:thin:@localhost:1521:XE, ingresamos el Username y Password
citas y hacemos click en el botón Test, luego de esto nos preguntarán
nuevamente el Password, ingresamos nuevamente citas y aparecerá que la
conexión fue exitosa Connection test successful, finalmente hacemos click
en el botón Save para guardar la conexión creada:
115
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Note que en el JDC URL se cambia al final MYDATABASE por XE,
indicando con ello que nos conectaremos a una base de datos Oracle
Express.
116
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Una vez creada la conexión desde ireport con la base de datos, pasamos a
agregar algunas librerías adicionales a nuestro proyecto, estas librerías
son necesarias para que el reporte finalmente pueda ser visualizado e
impreso a través de algún medio externo como una impresora.
117
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Podemos observar que las librerías quedan formando parte del
proyecto:
118
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• De la ventana emergente, seleccionamos la categoría Report y el
tipo de archivo Report Wizard y hacemos click en Next:
119
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• En la siguiente pantalla seleccionamos la conexión anteriormente
creada ReportesCitas y escribimos la consulta SELECT * FROM PACIENTES
order by PacApellidos, ya que en nuestro reporte deseamos mostrar la
información de todos los pacientes registrados en la base de datos.
Hacemos click en el botón Next:
120
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• En la ventana siguiente, simplemente hacemos click en Next ya que
en este reporte no deseamos agrupar por ningún campo:
121
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Por último hacemos click en el botón Finish:
122
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Haciendo click en el botón Design podemos personalizar el diseño
del reporte, para este ejemplo, solamente vamos a cambiar el título del
reporte y el título de las columnas:
123
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Al tener el diseño del reporte finalizado y probado de manera
independiente, es el momento de enlazarlo con nuestra aplicación, para
ello, lo primero que vamos a hacer es crear una clase dentro del paquete
reportes que se encargue de gestionar y mostrar los reportes.
124
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• El código de esta clase es el siguiente:
Línea Explicación
125
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Explicación del código (continuación):
Línea Explicación
126
FAVA - Formación en Ambientes Virtuales de Aprendizaje
• Hacemos click derecho en el menu Item Imprimir Pacientes
Registrados y del menú contextual seleccionamos la opción Event
Action actionPerformed:
127
FAVA - Formación en Ambientes Virtuales de Aprendizaje