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:
donde:
Ejecuta el procedimiento desde phpMyAdmin
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:
enjoy!
¿Qué es Maven? Maven es una herramienta de software para la gestión y construcción de proyectos Java. Provee un conjunto[...]
OS.js a pesar de lo que sugiere su nombre, no es en si un Sistema Operativo, es más, en su web oficial no se nombra por[...]
En este post construiremos un sencillo sistema Cliente/Servidor en lenguaje Java, el sistema consistirá básicamente en u[...]
Si te gusta realizar tus propios memes o foto montajes pero tienes poca o nula experiencia en editores gráficos como Pho[...]
¿Alguna vez tuviste la necesidad de hacer una captura de pantalla de una página web? Si es así, seguramente buscaste y d[...]
Espresso es un framework de testing propiedad de Google que está dirigido a desarrolladores que creen que las pruebas au[...]