en controller creamos una clase que se va a encargar de la conexion a la base de datos y tendra 2 metodos principales con return la clase la llamaremos Conexion y pondremos el siguiente codigo:
package controller;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
*
* @author andres2288
*/
public class Conexion {
static String usuario = "postgres";
static String password = "admin";
static String base = "test";
static String cadenaConexion = "jdbc:postgresql://127.0.0.1/" + base + "?" + "user=" + usuario + "&password=" + password;
Connection conexion = null;
private Statement sentencia = null;
public Connection Conexion() throws ClassNotFoundException, SQLException {
Class.forName("org.postgresql.Driver");
conexion = DriverManager.getConnection(cadenaConexion);
return conexion;
}
public Statement sta() throws SQLException {
sentencia = conexion.createStatement();
return sentencia;
}
public static void main(String args[]) throws ClassNotFoundException, SQLException {
Conexion c = new Conexion();
c.consulta("1");
}
public void consulta(String cod) {
Statement sentencia = null;
ResultSet resultado = null;
try {
Class.forName("org.postgresql.Driver");
sentencia = conexion.createStatement();
String consultaSQL = "SELECT * FROM \"Estudiante\" where codigo='" + cod + "'";
resultado = sentencia.executeQuery(consultaSQL);
while (resultado.next()) {
Long id = resultado.getLong("codigo");
String nombres = resultado.getString("nombre");
String apellidos = resultado.getString("apellido");
System.out.println(id + "\n" + nombres + "\n" + apellidos);
}
} catch (Exception e) {
e.printStackTrace();
conexion = null;
} finally {
if (resultado != null) {
try {
resultado.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (sentencia != null) {
try {
sentencia.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (conexion != null) {
try {
conexion.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/**
* @return the sentencia
*/
public Statement getSentencia() {
return sentencia;
}
}
como vemos 2 metodos principales Conexion() de tipo Connection y sta() de tipo Statement de esta forma podremos asegurar varias consultas con la base de datos al momento de nesesitarlas y asegurarnos que no se cerrara la conexion.Luego crearemos una clase dentro del model llamada
Gestiones la cual va a tener el siguiente codigo:
package model;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/**
*
* @author andres2288
*/
public class Gestiones {
public String primeraGestion( Connection conexion, Statement sentencia){
String datos="";
ResultSet resultado = null;
try {
Class.forName("org.postgresql.Driver");
String consultaSQL = "SELECT * FROM USUARIOS";
resultado = sentencia.executeQuery(consultaSQL);
while (resultado.next()) {
Long id = resultado.getLong("id");
String nombres = resultado.getString("nombres");
String apellidos = resultado.getString("apellidos");
System.out.println(id + "\n" + nombres + "\n" + apellidos);
datos+="id="+id+"nombre="+nombres+"apellidos="+apellidos+"\n";
}
} catch (Exception e) {
e.printStackTrace();
conexion = null;
} finally {
if (resultado != null) {
try {
resultado.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (sentencia != null) {
try {
// sentencia.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (conexion != null) {
try {
// conexion.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return datos;
}
}
aqui se va a realizar todas las consultas que realizemos va llegar desde el iframe, finalmente dentro del pakete view crearemos un Iframe llamado vista el cual va a hacer la interfaz del usuario que consulta una ves creada añadimos los import siguientes:
import controller.Conexion;
import model.Gestiones;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
ahora debajo de la clase osea por ejemplo debajo de esta linea public class vista extends javax.swing.JFrame { agregaremos las siguientes variables:
Conexion conn = null;
Connection conexion = null;
Gestiones e = null;
Statement sentencia = null;
con esto nos aseguramos que siempre habrá una conexión estable .
ahora dentro del construtor que esta de la siguiente forma public vista() throws ClassNotFoundException, SQLException { dentro de ese metodo pondremos lo siguiente :
conn = new Conexion();
conexion = conn.Conexion();
e = new Gestiones();
sentencia = conn.sta();
initComponents();
obviamente initComponents(); ya esta en el constructor por ultimo creamos un JTexarea llamandolo desde la paleta esta area le pondremos a1, tambien creamos un boton al cual llame mostrar la interfaz mas o menos debera parecer de la siguiente manera:
damos doble click en el boton para llegar al evento que produce esto cuando presionamos el boton y dentro de ese metodo pondremos lo siguiente:
a1.setText( e.primeraGestion(conexion, sentencia));
aqui hacemos la consulta en Gestiones pasando por parametros la conexion y la sentencia y alli nos devuelve el resultado en el area de texto facil :) bueno pero falta lo mas importante la base de datos y el .jar llamado postgresql-8.3-603.jdbc4.jar lo pueden descargar dando click en el nombre y lo importan como .jar desde la biblioteca, la base de datos yo la llame test para eso crean una base de datos en postgres y la llaman de esa manera luego descargan la base de datos aqui DESCARGAR click derecho en la base de datos y le dan restore y tendra que salirte un mensaje diciendo done=1
creo que eso es todo si te gusta comparten esta entrada o dejen sus dudas :)
0 Comments