Download Bases de datos

Document related concepts
no text concepts found
Transcript
Aplicaciones de Escritorio
Acceso a Bases de Datos
MySQL con Java
Disertantes: Ing. Rasjido, Jose.
AdeS Montenegro, Cristian.
Escuela de Informática 2013 - UNPA UACO
API JDBC
JDBC proporciona a las aplicaciones Java un
mecanismo uniforme para el acceso a datos.
Consiste en la utilización de un conjunto de clases
(API JDBC) que disponen de una serie de métodos
para operar con la base de datos.
Escuela de Informática 2013 - UNPA UACO
API JDBC
Los métodos proporcionados por JDBC, dirigen todas
las peticiones hacia un software intermediario
conocido como Driver JDBC.
La misión del Driver JDBC es traducir las llamadas
o invocaciones a ordenes nativas del Gestor de
Base de Datos.
Escuela de Informática 2013 - UNPA UACO
API JDBC
Aplicación
JDBC
La principal ventaja que
ofrece este sistema es que la
aplicación se independiza
del tipo de Base de Datos
utilizado.
Driver JDBC
BD
Escuela de Informática 2013 - UNPA UACO
API JDBC
Las clases e interfaces que forman parte de este API
se encuentran en el paquete java.sql.
Clase / Interface
Función
DriverManager
Establece conexiones con la base de datos a través
del Driver.
Connection
Representa una conexión con la base de datos.
Statement
Ejecución de consultas SQL.
PreparedStatement
Ejecución de consultas preparadas y procedimientos
almacenados.
ResultSet
Manipulación de registros de consultas de tipo Select.
ResultSetMetadata
Proporciona información sobre la estructura de los
datos.
Escuela de Informática 2013 - UNPA UACO
API JDBC
Pasos para acceder a una base de datos.
Conexión con la base de datos.
Ejecución de consultas.
Manipulación de registros.
Cierre de la conexión.
Escuela de Informática 2013 - UNPA UACO
API JDBC
Conexión con la Base de Datos.
Para establecer una conexión se requieren dos
pasos:
Carga del driver.
Creación de la conexión.
Escuela de Informática 2013 - UNPA UACO
API JDBC
Carga del Driver.
Mediante esta acción se prepara el driver JDBC para
que pueda ser utilizado mediante el método estático
forName() de la clase java.lang.Class, cuyo formato
es:
Class.forName(String clase_driver)
Este método localiza, lee y enlaza dinámicamente el
driver, devolviendo un objeto Class asociado a la
clase indicada.
Escuela de Informática 2013 - UNPA UACO
API JDBC
La siguiente instrucción realiza la carga del driver
puente JDBC-ODBC proporcionado por Sun:
Class.forName(“com.mysql.jdbc.Driver”)
El método forName() puede provocar una excepción
de tipo ClassNotFoundException.
Escuela de Informática 2013 - UNPA UACO
API JDBC
Creación de la conexión.
La conexión se realiza mediante el método estático
getConnection() de la clase DriverManager.
Connection getConnection(String url)
La cadena url representa la dirección de la base de
datos y su formato es:
jdbc:subprotocolo:base_datos
donde subprotocolo depende del tipo de driver utilizado
y base_datos es el nombre de la base de datos.
Escuela de Informática 2013 - UNPA UACO
API JDBC
El código necesario para establecer la conexión sería
el siguiente:
Class.forName(“com.mysql.jdbc.Driver”);
Connection conexión =
DriverManager.getConnection(“jdbc:mysql://localhost/
cursojava”, “user”, “pass”);
El método getConnection() puede generar una
excepción del tipo SQLException.
Escuela de Informática 2013 - UNPA UACO
API JDBC
Ejecución de consultas.
Las consultas SQL se manejan a través de un objeto
que implementan la interfaz Statement, cuya
creación se realiza mediante el método
createStatement() de la interfaz Connection:
Statement st;
st = conexión.createStatement();
Esta operación también puede generar una excepción
del tipo SQLException.
Escuela de Informática 2013 - UNPA UACO
API JDBC
La interfaz Statement proporciona diversos métodos
para enviar una consulta SQL a través de la conexión:
boolean execute(String sql). Envía a la base de
datos la consulta SQL proporcionada como
parámetro. Si se trata de una consulta de acción
(Insert, Update o Delete), el método devolverá false
indicando que no se generan resultados. Cuando es
una consulta de selección (Select), el método
devolverá True.
Escuela de Informática 2013 - UNPA UACO
API JDBC
int executeUpdate(String sql). Envía una consulta
de acción a la base de datos, devolviendo el número
de registros afectados por la acción.
ResulSet executeQuery(String sql). Envía una
consulta de selección de registros a la base de
datos, devolviendo un objeto ResulSet para su
manipulación.
Los tres métodos pueden generar una excepción del
tipo SQLException si se produce un error.
Escuela de Informática 2013 - UNPA UACO
API JDBC
Cierre de la conexión.
El cierre de las conexiones realizadas es importante
para poder liberar los recursos de memoria y CPU.
Se debe hacer mediante el método close().
conexion.close();
Esta operación también puede generar una excepción
del tipo SQLException.
Escuela de Informática 2013 - UNPA UACO
Referencias
Programador Certificado Java 2, segunda edición.
Antonio J., y Martin Sierra. Alfaomega-RaMa.
FIN
Escuela de Informática 2013 - UNPA UACO