Hace tiempo vimos como ejecutar un procedimiento almacenado desde Java en una base de datos, en esta oportunidad veremos algo semejante, cargaremos datos de la base de datos a nuestra aplicación con JDBC mediando un ResultSet. Este ejemplo nos servirá para cargar nuestros formularios ya sea de escritorio, consola o web mismo si no usamos ningún framework que nos ayude.
Para este caso en sí la conexión a la BD la hacemos a Firebird, pero es funcional con cualquier otro motor siempre y cuando cambiemos la cadena de conexión y el driver JDBC.
Con ésta clase creamos la conexión:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package conexionDB; import java.sql.Connection; public class ConexionFirebird { public static Connection con_firebird; public static Connection conectar(String pURL, String pUser, String pPass) throws Exception { try { String databaseURL = "jdbc:firebirdsql:" + pURL; Class.forName("org.firebirdsql.jdbc.FBDriver"); con_firebird = java.sql.DriverManager.getConnection(databaseURL, pUser, pPass); //System.out.println("Conexión a Firebird Correcta.."); } catch (Exception e) { e.printStackTrace(); throw new Exception(e); } return con_firebird; } }//end class |
Y con ésta hacemos la lectura (desde un procedimiento almacenado, aunque puede ser cualquier query también, pero no sería recomendable).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import conexionDB.ConexionFirebird; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public static void MiMetodo() throws Exception { // instancio conexion de firebird Connection connFB = ConexionFirebird.conectar(); connFB.setAutoCommit(false); try { // preparo el string de la consulta String strSQL = "SELECT * FROM MI_PROCEDEMIENTO_ALMACENADO_O_TABLA"; // preparo el comando de ejecucion de solo lectura, y hacia adelante PreparedStatement psFB = connFB.prepareStatement(strSQL, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); // ejecuto y cargo en un ResultSet ResultSet rs = psFB.executeQuery(); // commit connFB.commit(); // leemos e imprimimos los datos del resultset while (rs.next()) { System.out.println(rs.getString("COLUMNA1") + " " + rs.getInt("COLUMNA2") + " " + rs.getDate("COLUMNA3")); } } catch (Exception ex) { connFB.rollback(); throw ex; } finally { connFB.close(); } } |
Articulos Relacionados:









en
en
en
en
muy bueno, no se porque nadie mas opina
sos groso sabelo
Saludos desde colombia