En post anteriores vimos lo que son los procedimientos almacenados y como llamarlos desde java, en este post veremos lo que son las Funciones SQL.
La principal diferencia entre un procedimiento y una función es que una función siempre debe devolver un valor, pero un procedimiento puede o no devolver un valor. También podemos agregar sobre las funciones que:
Entre las ventajas de usar funciones en nuestros proyectos tenemos:
Crear funciones desde phpMyAdmin
Con nuestra base de datos seleccionada presionamos la opción Rutina -> Agregar rutina.
Se despliega una ventana en donde podremos ingresar crear nuestra función. Es decir:
Para terminar clic en [Continuar]
Al igual que con nuestras tablas y procedimientos, las funciones que creamos cuentan con su propio apartado en nuestra base de datos desde donde podemos administrarlas cómodamente.
Para terminar probemos el correcto funcionamiento de nuestra función.
Llamar a la función desde Java
El código para realizar la llamada a nuestra función «holaMundo» es el siguiente:
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) throws SQLException { Connection connection = null; CallableStatement statement = null; try { connection = DriverManager.getConnection("jdbc:mariadb://localhost:3306/TutorialJava", "root", ""); System.out.println("> Conectado a la base de datos"); //Preparamos la llamada a la rutina de la base de datos statement = connection.prepareCall("{?= call holaMundo(?)}"); //Registra el tipo de dato de salida statement.registerOutParameter(1, Types.VARCHAR); //registra el tipo de entrada statement.setString(2, "Juan Perez"); //llama a la funcion statement.execute(); //recoge resultado String output = statement.getString(1); System.out.println(output); } catch (SQLException ex) { System.err.println(ex.getMessage()); } finally { if (statement != null) { statement.close(); } if (connection != null) { connection.close(); } } } }
enjoy!
¿Qué es un Trait en Laravel? Los Trait son una forma que laravel tiene para reutilizar el código, son similares a las cl[...]
El Tangram es un juego chino muy antiguo, esta compuesto por 7 piezas: un paralelogramo (romboide), un cuadrado y 5 triá[...]
En un post anterior [Crear plantillas personalizadas para Netbeans] vimos una forma sencilla que tiene Netbeans para fac[...]
En este segundo post sobre Android y SQLite, veremos el uso de los métodos de gestión de base de datos más utilizados, e[...]
El SystemTray/Bandeja del Sistema o como también se le llama «Área de Notificación» es la sección de la barra de tareas[...]
En este tutorial crearemos una Galeria de Imagenes al estilo de javascript o flash con Java y el IDE Netbeans 6.9. 1. Cr[...]