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!
Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.
Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye
Enjoy! :)
TextInput es una caja de texto que implementa el estilo de Material Design popular en dispositivos móviles, pero este sw...
Common Object Request Broker Architecture (CORBA) es un estándar que permite que diversos componentes de software escrit...
iReport nos da la posibilidad de dar un formato condicional a los diferentes registros resultado de nuestras consultas S...
En post anteriores vimos lo que son los parámetros IN y los parámetros OUT pero existe otro tipo de parámetro que es la...
Cuando se crean aplicaciones android o cualquier otro tipo de software, es importante dejar información del o los desarr...
Dia Diagram Editor es un software gratuito de dibujo de código abierto para los sistemas operativos de Windows, Mac OS X...
El gigante tecnologico Google a puesto un bonito Doodle en su buscador que esta fascinando a sus millones de usuarios qu...
WhatsApp anuncio a través de su blog que ya se encuentra disponible la función de envío de fotos y videos TEMPORALES, es...
Muchas de las innovaciones computacionales de la NASA se desarrollaron para ayudar a explorar el espacio, pero ahora la...
TikTok es una plataforma de microvideos muy popular entre los jóvenes el cual cuenta ya con millones de videos cortps de...