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!
Desarrolle un programa en consola con un menú para el usuario que permita agregar elementos a una pila, eliminar element[...]
XJC es una herramienta de linea de comandos del compilador de esquemas de JAXB que se puede utilizar para convertir un e[...]
En este post realizaremos un pequeño ejemplo de validación de archivos XML utilizando el esquema XSD y el lenguaje PHP ([...]
Cuando nos bajamos un proyecto de internet o cuando nos pasan un código de otra pc (que técnicamente viene siendo lo mis[...]
En este post personalizaremos una tabla JTable Swing para pintar una imagen de fondo y darle un poco de estilo al e[...]
Geany es un editor de texto para Sistemas Operativos Linux, windows y MAC que utiliza el kit de herramientas GTK+ con ca[...]