Publicado el 26 de Mayo del 2020
548 visualizaciones desde el 26 de Mayo del 2020
127,8 KB
3 paginas
Creado hace 18a (09/11/2006)
GUIA PARA CREAR UNA CONEXIÓN
CON UNA BASE DE DATOS POSTGRES
UTILIZANDO JDBC.
ELABORADA POR: BRAVO CONTRERAS MARICELA CLAUDIA
PROFESOR: DR. VICTOR SOSA SOSA
Este documento describe los pasos necesarios
1.
Identificar la fuente de datos (base de datos) a la que se desea conectar. Esta puede
ser Oracle, Sybase, Postgres, etc.
2. Obtener el driver JDBC para el manejador de la base de datos correspondiente, en
este ejemplo la conexión se hace con postgres. Para obtener el driver de postgres se
puede bajar de:
http://jdbc.postgresql.org
3. Modificar la variable de ambiente CLASSPATH, asignándole la ruta donde se
encuentra guardado el driver.
Por ejemplo: si el driver de JDBC se encuentra en el directorio /usr/local/lib y el
Java JDK está instalado en el directorio /usr/local/jdk1.3.1. Para correr la aplicación
se utilizaría:
CLASSPATH = usr/local/jdk1.3.1/:usr/local/lib/postgresql.jar
Importar el JDBC. Cualquier programa que utilice JDBC necesita importar el
paquete java.sql.
Esto se hace incluyendo la siguiente línea al principio del programa:
4.
5. Cargar el driver apropiado dentro del código. Una forma de hacerlo es utilizando el
Import java.sql.*;
método Class.forName() para cargar la clase explícitamente.
En el caso de PostgreSQL, se utiliza de la siguiente manera:
Class.forName(“postgresql.Driver”);
Para saber que drivers están disponibles se puede utilizar el método getDrivers();
del DriverManager.
6. Una vez que se ha cargado el driver, se llama a DriverManager.getConnection()
para establecer una conexión con la fuente de datos. El método getConnection()
devuelve un objeto tipo Connection que representa una conexión física al URL
especificado. La definición del método getConnection es la siguiente:
public static Connection getConnection(String url, String user, String password)
throws SQLException
Donde el url (Uniform Resource Locator) que representa la base de datos, tiene el
siguiente formato:
jdbc:subprotocol://host:port/datasourcename
1
Estructura del protocolo JDBC
Componente
jdbc
subprotocol
Descripción
Especifica que se está utilizando un protocolo JDBC
Indica el tipo de la fuente de datos. En este caso se utiliza
postgresql. Cuando el DriverManager busca un driver registrado
para conectarse a la fuente de datos, pasa este URL, entonces el
driver puede determinar si puede manejar esta fuente de datos.
Indica el nombre del servidor donde se encuentra el manejador de
la base de datos. Cuando se omite, se toma como predeterminado
a localhost.
Especifica el número del puerto donde el servidor está atendiendo.
El puerto estándar predeterminado de PostgreSQL es el número
5432.
host
port
datasourcename Es el nombre que el manejador de la base de datos utiliza para
identificar la base de datos.
Se puede utilizar para pasar información extra que es específica
del driver.
Parámetros
opcionales
7. Utilizar la conexión devuelta por el DataManager para acceder la fuente de datos.
Un objeto tipo Connection representa una sesión con la fuente de datos, dentro de
esta sesión se pueden ejecutar cualquier cantidad de instrucciones SQL.
8. Cerrar la conexión
Para cerrar la conexión se llama al método close() del objeto tipo Connection.
El objeto conexión tiene tres métodos que devuelven objetos que representan una
¿Cómo obtener datos de la base de datos una vez que ya existe una conexión?
La conexión con la base de datos se utiliza para enviar comandos e instrucciones
SQL a la base de datos. La conexión actúa como una liga directa al driver de la base de
datos. El programa cliente solicita un objeto SQL tipo statement a la conexión y deposita en
él la instrucción a ejecutar. La conexión envía esta información al driver. El driver envía el
objeto SQL a la base de datos y devuelve los resultados. Los resultados regresan al cliente
en la forma de un result set.
llamada a la base de datos. Estos métodos son:
createStatement(). Devuelve un objeto que implementa la interface statement. Se utiliza
para ejecutar llamadas SQL únicas en la base de datos.
prepareStatement(). Devuelve un objeto tipo preparedStatement que hereda de la interface
statement. Maneja parámetros de entrada. Este tipo de statement puede ser más eficiente si
se planea ejecutar una misma llamada SQL múltiples veces, porque puede ser
precompilada.
prepareCall(). Devuelve un objeto
callableSatetment que hereda del
preparedStatement para manejar parámetros de salida. Se utiliza para ejecutar
procedimientos almacenados que tienen parámetros de entrada y valores resultantes de
salida.
tipo
2
Un objeto tipo statement tiene tres métodos para enviar SQL a la base de datos y
ejecutar las llamadas a la base de datos:
executeQuery(). Se utiliza generalmente para instrucciones tipo SELECT simples.
executeUpdate(). Actualiza valores de la base de datos. Generalmente es utilizado para las
instrucciones INSERT, UPDATE, DELETE, o comandos tipo DDL como CREATE. Este
método devuelve el número de renglones afectados por el comando.
execute(). Se utiliza para hacer llamadas a procedimientos almacenados que devuelven
múltiples resultados.
Los resultados de una consulta se devuelven en un ResultSet, el cual almacena los
resultados en renglones y mantiene un apuntador al renglón actual. Cada valor dentro de un
renglón puede accesarse por su nombre o por su posición.
Ejemplo de un programa cliente que establece una conexión con una base de datos
import java.sql.*;
public class EjemploJDBC
{
public static void main(String args[])
{
try
{
Class.forName(“postgresql.Driver”);
String url = “jdbc:postgresql://148.208.221.22:5432/deptocomputacion”;
Connection con = DriverManager.getConnection(url, “mari_clau”, “1234”);
Statement stmt = con.createStatement();
// Se ejecuta una consulta y se devuelve el resultado en ResultSet
ResultSet rs = stmt.executeQuery(“select * from estudiantes”);
/* Se realizan iteraciones a través del ResultSet y se imprimen en pantalla los valores de
algunos atributos del renglón. El ResultSet mantiene un apuntador al renglón de datos
actual, inicialmente el apuntador es posicionado antes del primer renglón. El método next
mueve el apuntador al siguiente renglón. */
while (rs.next())
{
System.out.println(rs.getString(“nombre”) + “ “ + rs.getString(“direccion”));
}
}
catch(Exception e)
{
e.printStackTrace();
}
}// fin del main
}// fin de la clase EjemploJDBC
3
Comentarios de: Guía para crear una conexión con una base de datos Postgres utilizando JDBC (0)
No hay comentarios