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 / Base de Datos / PostgreSQL / Ejecutar función de postgreSQL desde Java

Ejecutar función de postgreSQL desde Java

Por jc mouse lunes, julio 16, 2012

Este es una continuación de un tutorial pasado [Funciones en PostgreSQL y pgAdmin], así que si quieres entenderlo mucho mejor, te recomiendo te des una vuela por [Funciones en PostgreSQL y pgAdmin].

Resumiendo, se creo un función en pgAdminIII el cual consistía en registrar una persona según su edad en una categoría en particular.

Vimos como ejecutar la función desde el propio postgreSQL/pgAdminIII, ahora veremos como ejecutarlo desde java, el que conozca sobre procedimientos almacenados en MySQL sabrá que para ejecutar un PROCEDURE, se hace uso de CallableStatement, eso es totalmente válido, sin embargo, como nuestra función solo retorna un resultado, nosotros utilizaremos otra forma :), utilizaremos la instrucción executeQuery();

Englobaremos todo en una sola clase la cual se llama, pgFunctions, el código es:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
 * @web https://www.jc-mouse.net
 * @author Mouse
 */
public class pgFunctions {

  /* DATOS PARA LA CONEXION */
  /** Nombre de la base de datos */
  private String db = "dbTemp";
  /** Usuario postgreSQL */
  private String user = "postgres";
  /** Contraseña postgreSQL */
  private String password = "";
  /** Cadena de conexión */
  private String url = "jdbc:postgresql://localhost:5432/"+db;
  /** Conexion a base de datos */
  private Connection conn = null;
  /** Para obtener los resultados de las consultas SQL de la base de datos */
  private ResultSet resultSet = null;
  /** Para enviar comandos SQL a la base de datos */
  private Statement statement = null;

  /** Constructor de la clase
 * Realiza una conexión a la base de datos de PostgreSQL
 * @exception SQLException Los datos son incorrectos
 * @exception ClassNotFoundException No existe libreria JDBC:Postgresql
 */
  public pgFunctions(){
   this.url = "jdbc:postgresql://localhost:5432/"+db;
       try{
         //obtenemos el driver de para mysql
         Class.forName("org.postgresql.Driver");
         //obtenemos la conexión
         conn = DriverManager.getConnection(this.url, this.user , this.password );
      }catch(SQLException e){
         System.err.println( e.getMessage() );
      }catch(ClassNotFoundException e){
         System.err.println( e.getMessage() );
      }
  }

/**
 * Ejecuta la instruccion SQL para llamar a la función en postgreSQL
 * @param Cedula_Identidad String que es el identificador de la persona
 * @return String el resultado de la función
 */
public String CallFunction( String Cedula_Identidad )
{
    String res="";
    try {
      statement = conn.createStatement();
      resultSet = statement.executeQuery("SELECT registrar('"+Cedula_Identidad+"'); ");
      while (resultSet.next())
      {
        res=resultSet.getString(1);
      }
     }
   catch (SQLException ex) {
        System.err.println( ex.getMessage() );
   }
   return res;
}

}

Explicación: En el constructor de clase, se realiza la conexión a PostreSQL y se almacena en la variable «conn«, el método «CallFunction» nos sirve para ejecutar la función y devolver el resultado en un String.

Por demás esta decir que para ejecutarlo en tu pc, debes cambiar los datos de conexión, base de datos, usuario y contraseña, por los tuyos.

Ejecutamos esta clase de la siguiente manera:

  pgFunctions pgf = new pgFunctions();        
  System.out.println( pgf.CallFunction("1234567") );

Obteniendo como resultado:

resultado funcion

«A la grande le puse cuca» 🙂

Tags

Artículos similares

Ejercicios con Hashtable y C#

Ejercicio: Escriba un programa en consola que implemente un Hashtable, cree una clase «Persona«, este será el tipo de da[...]

Cargar fuente TTF

Cuando realizamos un proyecto java utilizando fuentes de nuestro sistema, al momento de distribuir el programa y ejecuta[...]

Funciones en PostgreSQL y pgAdmin

Los procedimientos almacenados de MySQL , en postgreSQL se llaman funciones, pueden crearse desde consola, pero es mucho[...]

Juego: Acierta los colores (Código Fuente)

Acierta los colores o Adivina los colores es un sencillo juego que consiste en que dado 6 colores «rojo», «verde», «salm[...]

Guardar y Leer imagenes en PostgresSQL

En este tutorial veremos una forma para registrar archivos JPG en una base de datos PostgreSQL y recuperarlos para utili[...]

Elimina el fondo de tus fotografías en 5 segundos

Si te gusta realizar tus propios memes o foto montajes pero tienes poca o nula experiencia en editores gráficos como Pho[...]