Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / Procedimientos Almacenados: Parámetros OUT

Procedimientos Almacenados: Parámetros OUT

Por jc mouse lunes, mayo 13, 2019

En un post anterior conocimos que es y como funciona un parámetro de entrada IN en procedimientos almacenados y lenguaje java. En este post continuamos con los parámetros de salida OUT.

Utilizaremos la misma base de datos y servidor XAMPP del post anterior (Parametros IN), así también para no repetir lo mismo, se recomienda leer también el apartado de creación, edición y ejecución de procedimientos almacenados desde phpmyadmin.

Parámetros OUT

Una parámetro de salida OUT se usa para pasar información del procedimiento al programa de llamada. Es una variable de solo escritura y no tiene valor hasta que el bloque le asigna un valor.  Una variable pasada en el modo OUT no se le puede asignar un valor predeterminado, tampoco puede ser leído dentro del procedimiento.

El ejemplo para este post sera trivial, consistirá en obtener la cantidad de empleados retornando el total en un parámetro OUT.

Nuestro procedimiento es el siguiente:

OUT parameter

donde:

  1. Nombre de la rutina: cantidadEmpleados
  2. Tipo: PROCEDURE
  3. Dirección: OUT (salida)
  4. Nombre del parámetro: total
  5. Tipo: INT
  6. Código SQL: Se utiliza la palabra reservada INTO para asignar el valor obtenido al parámetro OUT

Ejecuta el procedimiento desde phpMyAdmin

totallity

Código Java

El código para llamar al procedimiento almacenado con parámetro OUT desde java es:

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Types;
/**
 * @see https://www.jc-mouse.net/
 * @author mouse
 */
public class Main {

    public static void main(String[] args) {
        Connection connection = conectar("jdbc:mariadb://localhost:3306/TutorialJava", "root", "");
        if (connection != null) {

            try {                
                
                System.out.println("> Se prepara llamada a procedimiento almacenado");
                CallableStatement stmt = connection.prepareCall("{CALL cantidadEmpleados(?)}");
                //ingresando parametro OUT de tipo INT
                stmt.registerOutParameter(1, Types.INTEGER);
                                                
                System.out.println("> Ejecutando procedimiento");
                stmt.execute();
                System.out.println("> Ejecucion terminada");

                //Se obtiene el valor devuelto por el procedimiento
                int valor = stmt.getInt(1);
                System.out.println("\n   Cantidad de empleados: " + valor);
                
            } catch (SQLException ex) {
                System.err.println(ex.getMessage());
            }
        }
    }
    
      public static Connection conectar(String url, String user, String pass) {
        try {
            Connection connection = DriverManager.getConnection(url, user, pass);
            System.out.println("> Conectado a la base de datos");
            return connection;
        } catch (SQLException ex) {
            System.err.println(ex.getMessage());
        }
        return null;
    }
      
}

Ejecutando obtenemos:

son by four

enjoy!

Tags

Artículos similares

Agrega imagenes en un JComboBox

Para agregar imágenes a un JComboBox, partiremos de un proyecto Netbeans con la siguiente estructura: Tenemos dos clases[...]

Hola Mundo con Slim Framework

Slim es un micro framework para PHP que nos ayuda a escribir rápidamente aplicaciones Web y APIs sencillas pero poderosa[...]

JTree Recursivo

En un post anterior se vio como llenar un JTree en donde se conocía de antemano que estructura iba a tener esta sin emba[...]

Simulador de Urna Electrónica en java

Hola 🙂 en esta ocasión un amigo del Brasil nos envía un proyecto java de una Urna Electrónica o Voto Electronico, desarr[...]

Primeros pasos con Quasar Framework

Quasar es un proyecto Open Source basado en el Framework Vue que nos permite desarrollar proyectos de todo tipo, por eje[...]

Recortar partes de una imagen con el mouse

En este oportunidad comparto una pequeña aplicación hecha en java para recortar partes de una imagen seleccionado con el[...]