El Blog de Patito

Introduccion a JDBC

by patito on feb.27, 2010, under Software

En este ultimo tiempo, me toco hacer un sistema para la facultad en el que necesitaba acceder desde una aplicacion Java a una base de datos. Debido a mi falta de conocimiento y experiencia en el tema, tuve que salir a investigar en internet sobre la implementacion de dicha conexion.

A continuacion voy a dar una breve descripcion sobre todos los puntos a tener en cuenta para poder conectar tu aplicacion java a una base de datos.

JDBC: Significa Java DataBase Connectivity. Es el API que utiliza Java para interactuar con motores de base de datos relacionales. Es independiente de la plataforma y permite hacer llamadas SQL hacia las base de datos. La mayor parte de sus clases se encuentran en el paquete java.sql


La conexion se establece a traves de un tipo de driver, el cual debe cargarse en tiempo de ejecucion mediante el metodo:

Class.forName(String nombredeldriver).newIntance();

Una vez cargado el driver, la conexion a la base de datos se realiza invocando al siguiente metodo:

Connection conn= DriverManager.getConnection(“jdbc:<subprotocolo>:<subnombre>”,”user”,”pass”);

en subprotocolo iria por ejemplo : db2 o odbc y en subnombre el nombre de la base de datos.

Luego de conectarse a la base de datos, puede crearse una instancia de la clase  Statement, el cual es el utilizado para representar la sentencia SQL.

Existen tres tipos de sentencias que se pueden representar:

  • Statement: sentencia SQl estatica, creada en el programa y sin variables.

Statement stmt=conn.createStatement();

  • Prepares Statement: sentencia SQL dinamica, que contiene partes variables a definirse en tiempo de ejecucion.

String sql=”SELECT * FROM USUARIOS WHERE ID= (?)”;

PreparedStatement stmt=conn.prepareStatement(sql);

stmt.setString(1,id);

  • Callable Statement: llamada a un procedimiento almacenado en el  DBMS.

Atencion:

Para cerrar la conexion se utiliza la funcion : conn.close();

Para cerrar el statement se utiliza la funcion: stmt.close();


executeQuerry(String sql)

Se usa para ejecutar sentencias de consultas que no modifican la base de datos. Devuelve un objeto ResultSet que contiene el resultado de la consulta. Ej:  stmt.executeQuerry(sql);


executeUpdate(String sql)

Se usa para ejecutar sentencias de consultas que modifican la base de datos. Devuelve un int que informa la cantidad de registros modificados. Ej: stmt.executeUpdate(sql);


ResultSet

Contiene las filas o registros al ejecutar una un Select. Para recorrerlo se debe ejecutar el metodo next(), el cual devuelve false si no hay mas registros. Para obtener un valor se utiliza el metodo get<Tipo>(posicion);

Ejemplo: getInt(1); getString(2);

java.sql.Date

El objeto java.sql.Date esta preparado para trabajar con fechas en una base de datos. Para convertir un java.sql.Date a un java.util.Date es conveniente crear una fecha a partir de los milisegundos.

java.util.Date fecha=new java.util.Date(datesql.getTime());


SQLException

Es un tipo de Exception que posee un codigo de error. Este codigo esta definido por el proveedor de la base de datos y es devuelto cuando no se pudo ejecutar  correctamente una sentencia SQL.

Espero que les sirva para saber con que cosas se van a encontrar a la hora de intentar conectar una aplicacion Java con una base de datos. Cualquier duda o problema no duden en consultar.


:, , , , , ,

Leave a Reply

Enlaces

Algunas recomendaciones...