Download JavaSwingSQL-CRUD

Document related concepts
no text concepts found
Transcript
OBJETIVO
&
'
! ()
+
*
!
(
'
'
,&
!
'
,-
,
. (
))/0 '/11
- $ $ !1-
1#1
1'
CARACTERÍSTICAS
Este tutorial trabaja sobre NetBeans 6.1 y MySQL 5.0.
ACTIVIDAD 1 – PRESENTANDO A NetBeans
Crear un nuevo proyecto usando la ventana que se indica a continuación:
!!
"
#$
%
Luego deberá seleccionar una conexión de base de datos, en el caso del
laboratorio que se está desarrollando se tienen las siguientes conexiones
disponibles:
!!
"
#$
%
En este caso se va a seleccionar la conexión persona. Luego que haya
seleccionado una de las conexiones disponibles lo más probable es que le
pida una clave en una ventana como la que se indica a continuación:
Si no hay problemas con la clave y el usuario debería establecerse la
conexión y aparecen la lista de tablas y los campos disponibles, en el
caso del ejemplo, se tiene:
Luego de seleccionar Next y finalmente Finís se obtiene una ventana
gráfica que contiene los TextField asociados a cada columna que se ha
!!
"
#$
%
agregado. En el caso de este laboratorio se tiene una ventana como la que
se indica en la siguiente ventana:
Ahora usted debe identificar los elementos gráficos que forman parte de
la ventana.
!!
"
#$
%
ACTIVIDAD 2 – COMENTANDO LAS CLASES
CLASE Persona.java
La clase persona es tratada como un Bean de Entidad, eso
evidencia en la línea de código que se destaca en la figura:
queda
en
En esta clase aparecen varios nuevos conceptos que deben ser revisados:
Existencia de la clase PropertyChangeSupport
encuentra disponible en la API:
cuya
documentación
se
http://java.sun.com/j2se/1.4.2/docs/api/java/beans/PropertyChangeSupport.
html
La clase Persona cuenta con un objeto de esta clase, llamado
changeSupport. Este objeto mantiene una lista de oyentes del cambio de
propiedad y lanza eventos del cambio de propiedad. Dónde se están
lanzando los eventos del cambio de propiedad. Para responder a la
pregunta anterior observemos el código de uno de los métodos seteadores
de la clase:
Las líneas de código que se muestran a continuación asocian las columnas
de la tabla con los atributos de la clase:
!!
"
#$
%
ACTIVIDAD 3 – EJECUTANDO EL PROYECTO
Al presionar F6 es posible ejecutar el proyecto. Al ejecutarlo podrá
probar la funcionalidad asociada a la inserción de nuevos registros,
modificación y eliminación de registros existentes.
ACTIVIDAD 4 – EXPLICANDO EL CONCEPTO DE BINDING
Al ejecutar el proyecto es posible ver que los datos de la tabla se
encuentran contenidos en el JTable que forma parte de la ventana
principal. Vamos a revisar la forma como se vinculan los datos de la
tabla en el elemento gráfico.
En la ventana Inspector se tienen los elementos que forma parte de la
ventana, en el caso de mi ejemplo se tiene la siguiente ventana
Inspector:
Se distinguen los elementos gráficos de la ventana: paneles, barras de
menú y la ventana como objeto gráfico. Sin embargo, los tres últimos
elementos no son elementos gráficos, se trata de los elementos asociados
al manejo de la persistencia. Se tienen tres tipos de componentes:
EntityManager, Query, List. A continuación se explican las interfaces que
representan estos elementos. Para mayor información se sugiere revisar la
API
asociada
a
Java
EE,
disponible
en
http://java.sun.com/javaee/5/docs/api/
!!
"
#$
%
EntityManager, corresponde a la representación en el modelo OO del
contenido de la tabla con la cual se está trabajando; responde, en cierta
medida, al llamado MAPEO relacional-OO. Siempre va a estar asociado a una
Unidad de persistencia.
Query, corresponde a una consulta SQL que permite obtener los datos que
serán desplegados.
List, corresponde a la interfaz List contenida en la API de colecciones
de Java. Sirve para contener el resultado de la consulta SQL.
Revisemos ahora las propiedades de cada uno de los objetos. En el caso de
las propiedades del objeto entityManager y se tiene la unidad de
persistencia asociada a ese objeto:
Esta unidad de persistencia ha sido creada por el IDE para representar a
la tabla con la cual se está trabajando.
Al revisar las propiedades del objeto query se tiene:
!!
"
#$
%
En este caso se distinguen dos elementos importantes, la sentencia de la
consulta y el entityManager al cual se encuentra vinculada la consulta.
En este caso se van a desplegar todos los datos de la tabla, por lo
tanto, se seleccionan todos los registros sin aplicar ningún filtro.
Finalmente, al revisar las propiedades del objeto list se tiene:
En este caso se debe vincular la colección a una consulta a partir de la
cual va a obtener sus datos.
Ahora que ya hemos explicado los componentes asociados a la persistencia
vamos a revisar la forma en que se asocian con los elementos gráficos que
se tienen en la ventana. Para lo anterior, se van a revisar las
propiedades del JTable que aparece en la ventana:
Dentro de la sección Binding se debe asociar a la propiedad elements el
objeto del tipo List que se había descrito con anterioridad; de esta
forma se VINCULA el contenido de la tabla gráfica con los datos que están
!!
"
#$
%
almacenados en la tabla de la base de datos. Lo anterior se conoce con el
nombre de Binding.
ACTIVIDAD 5 – REVISIÓN DE CÓDIGO GENERADO POR EL IDE
La clase que se extiende de FrameView contiene algunos import que son
exclusivos de NetBeans:
Son clases asociadas al tipo de proyecto que se ha seleccionado “Java
Desktop Application” (jdesktop.application).
Esta clase ha sido generada en su totalidad por el IDE. Muchos de los
métodos que se definen trabajan sobre los elementos gráficos y sobre los
elementos relacionados con la persistencia. Como todo el código que es
generado por el IDE existe una poción de código que NO PUEDE ser
alterado.
ACTIVIDAD 6 – COMENTARIOS FINALES
Se ha construido una aplicación en un par de minutos que permite cumplir
con las funciones básicas sobre una tabla: Crear (Create), Recuperar
(Read), Actualizar (Update) y Borrar (Delete) registros de una tabla.
Usando las iniciales de las operaciones anteriores se genera el acrónimo
CRUD, se refiere a la capa de persistencia de una aplicación. Comente las
ventajas de lo anterior.
!!
"
#$
%
Related documents