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