Programación orientada a objetos

Bases de Datos y Java

Comunicación a una base de datos PostgreSQl desde Java - NetBeans

Proyecto NetBeans y PostgreSQL

  1. Cree la base de datos en PostgreSQL
  2. Cree un proyecto en NetBeans Java/Java Application + la clase main
  3. Cree el JFrame con los menú que administre la aplicación
  4. Cree los JInernalFrame requeridos para las operaciones a desarrollar sobre la base de datos.
  5. Vincule en el JFrame las Clases creadas.
  6. En la clase Main cree y ejecute un objeto tipo JFrame.

Tómese como ejemplo de aplicación una base de datos que gestione los recuros involucrados en diferentes proyectos experimentales de laboratorio, según el siguiente modelo relacional:

Implementación en PostgreSQL

Herramientas

  1. Agregue la biblioteca PostgreSQL JDBC Driver:  JDBC (Java Data Base Connectivity) es el API (Application Programming Interface) para la conexión a bases de datos desde el lenguaje Java.
  2. Cargue la librería: import java.sql.*;

Instrucciones para Concetarse con una base de Datos

  • Requiere de una variable de tipo Connection.

private Connection conexion = null;

  • Cree un método tipo void que estableza la comunicación con la base de datos:

public void conectarBD (){
        if (conexion != null)
            return;
        
        String url = "jdbc:postgresql://localhost:5432/proyectos";
        
        try {
            Class.forName("org.postgresql.Driver");
            conexion = DriverManager.getConnection(url,"postgres","admin");
            if (conexion != null){
                System.out.print("Conexión establacida...");
            }
        } catch (Exception e) {
            System.out.print("NO HAY Conexión...");
        }
    }

Instrucciones para Cerrar una base de Datos

  • Requiere de una variable tipo Connection.

private Connection conexion = null;

  • Cree un método tipo void que termine la comunicación con la base de datos:

public void cerrarBD(){
        try {
            conexion.close();
        } catch (Exception e) {
            System.out.println("Conexión sin cerrar...");
        }
    }

Instrucciones para enviar sentencias SQL a la base de datos

  • Requiere de una variable tipo Connection.

private Connection conexion = null;

  • Ejecución de instrucciones SQL

conectarBD();
        if (conexion != null){
            Statement s = null;
            try {
                s = conexion.createStatement();
                s.executeQuery ("INSERT INTO "estudiantes" ("idestudiante", "nomestudiante", "apeestudiante", "programa", "semestre", "direstudiante", "telfestudiante") VALUES ("+Integer.valueOf(jTextField1.getText())+", '"+jTextField2.getText()+"', '"+jTextField3.getText()+"',  '"+jTextField4.getText()+"', "+Integer.valueOf(jTextField5.getText())+", '"+jTextField6.getText()+"', '"+jTextField7.getText()+"');");
            } catch (Exception e) {
                System.out.println("Registrado");
            }
            cerrarBD();
        }
    }

Instrucciones para capturar consultas SQL en la base de datos

  • Requiere de una variable tipo Connection.

private Connection conexion = null;

  • Cree un método para capturar consultas:

public ResultSet datos(){
       
       ResultSet rs = null;  // captura consultas
       Statement s = null;  // objetos para enviar sentencias sql a la BD
       try {
           s= conexion.createStatement();
           rs = s.executeQuery("SELECT * FROM "public"."estudiantes"ORDER BY"idestudiante"asc");
       } catch (Exception e) {
           System.out.println("Error");
       }
       return rs;
   }

  • Instrucciones para mostrar el resultado de la consulta capturada

conectarBD();
        
        if (conexion != null){
            ResultSet n = datos();
            
            try {
                this.jTextArea1.setText("");
                while (n.next()){
                    this.jTextArea1.append(n.getString(1)+"t"+n.getString(2)+"t"+n.getString(3)+"n");
                }
                
            } catch (Exception e) {
                System.out.println("Error al imprimir");
            }
            cerrarBD();
        }

 



Volver a Contenidos