< Anterior | Siguiente >

Lección 2: Adición de un método a la interfaz InventoryLevelsData

En esta lección, escribirá un método que devuelve el valor de la columna QUANTITY_SHIPPED en la tabla INVENTORY_LEVELS.
Las sentencias SQL que genera pureQuery son todas útiles, pero también deseará tener sentencias hechas a medida para las aplicaciones que desea escribir. Por ejemplo, una de las aplicaciones necesitará una sentencia SELECT para determinar cuántas unidades de un producto específico se enviaron durante un mes concreto de un año concreto. La aplicación no necesitará devolver ningún valor que no sea el número de unidades enviadas.

Con pureQuery, es fácil añadir la declaración de este nuevo método a la interfaz y, a continuación, pureQuery vuelve a generar automáticamente la clase de implementación para que se implemente el método.

Para añadir un método nuevo a la interfaz:

  1. Vaya al separador InventoryLevelsData.java.
  2. Debajo del segundo método getInventoryLevels() (el que coge campos individuales), añada algunas líneas vacías al archivo y escriba las líneas siguientes:
    	// Select QUANTITY_SHIPPED by parameters
    	@Select(sql = "SELECT  FROM ")
    Consejo: No se preocupe por los marcadores de errores en el editor. Desaparecerán cuando acabe de declarar el método.
  3. Añada el esquema de GSDB al código:
    1. En el código que acaba de escribir, pulse para colocar el cursor justo antes de las segundas comillas. A continuación, mientas mantiene pulsada la tecla CONTROL, pulse la barra ESPACIADORA. Aparecerá una pequeña ventana justo debajo de la línea actual. En esta ventana aparece una lista de los elementos SQL propuestos para la sentencia.
    2. En la ventana pequeña, desplácese hasta encontrar la lista de esquemas en la base de datos GSDB y efectúe doble pulsación en el esquema GOSALES.
  4. Añada la tabla INVENTORY_LEVELS al código:
    1. En el código, especifique un periodo después del esquema y pulse CONTROL y ESPACIO al mismo tiempo para ver una ventana pequeña con la lista de las tablas que se encuentran en el esquema.
    2. Utilice la tecla de fecha hacia abajo para mover hacia abajo la tabla INVENTORY_LEVELS y pulse la tecla Intro.
  5. Finalice la sentencia SQL. Desea seleccionar el valor de la columna QUANTITY_SHIPPED. También quiere añadir el nombre de la columna rápidamente y sin errores de ortografía.
    1. Pulse para colocar el cursor entre los dos espacios que hay después de la palabra clave SELECT. Mientras mantiene pulsada la tecla CONTROL, pulse la barra ESPACIADORA. Aparecerá otra ventana debajo de la línea actual. En esta ventana aparece una lista de las columnas que se encuentran en la tabla INVENTORY_LEVELS.
    2. Mueva hacia abajo la columna QUANTITY_SHIPPED pulsando la tecla de la flecha hacia abajo y pulse la tecla Intro.
    3. Escriba la cláusula WHERE para que, como en el caso de la anterior sentencia SELECT, incluya las cuatro columnas clave primarias.
  6. Dé formato a la sentencia SQL par que se ajuste a la pantalla. En los pasos anteriores, probablemente se desplazó tanto hacia la derecha mientras escribía la sentencia que ahora no puede ver el resto del código.
    Figura 1. Final de la sentencia SELECT
    Final de la sentencia SELECT

    Afortunadamente, no necesita desplazarse tanto hacia la derecha cada vez que desee leer la sentencia SELECT. Para dar formato a SQL:

    1. Pulse para colocar el curso en la sentencia. Pulse con el botón derecho del ratón la sentencia y seleccione pureQuery > Dar formato a SQL.
    2. Desplácese hacia la izquierda. Tenga en cuenta que la sentencia SQL ahora está bien formateada en varias filas.
  7. Escriba el método para que devuelva un entero con el valor de QUANTITY_SHIPPED y que coja los campos individuales como parámetros.
    int getQuantityShipped(short inventoryYear, short inventoryMonth,
    				int warehouseBranchCode, int productNumber);
  8. Pruebe la sentencia SELECT. Se ha dado cuenta de que ha escrito un método sin probar primero la sentencia SELECT. pureQuery le permite probar la sentencia desde el editor de Java. Para probar la sentencia, pulse para colocar el cursor en la sentencia, pulse con el botón derecho del ratón y seleccione pureQuery > Ejecutar SQL.

    Debido a que la sentencia utiliza marcadores de parámetros en la cláusula WHERE, deberá indicar a pureQuery los valores que tiene que utilizar.

    Se abrirá la ventana Especificar valores de las variables de host.
  9. En la ventana Especificar valores de las variables de host, escriba los siguientes valores:
    • 2007
    • 1
    • 7
    • 10110
    Se abrirá la vista Resultados de SQL.
  10. En la vista Resultados de SQL, seleccione la primera fila y, a continuación, seleccione el separador Result1 (resultado 1) para ver el resultado.
    Resultado de la sentencia SELECT

    En la vista Resultados puede ver que la sentencia SELECT se ha ejecutado sin errores.

Al guardar la interfaz, pureQuery vuelve a generar automáticamente el archivo InventoryLevels_DataImpl.java y por lo tanto implementa el nuevo método.
< Anterior | Siguiente >

Comentarios