Acceso a datos con JAVA
Upcoming SlideShare
Loading in...5
×
 

Acceso a datos con JAVA

on

  • 2,482 views

Acceso a datos con JDBC

Acceso a datos con JDBC

Statistics

Views

Total Views
2,482
Views on SlideShare
2,482
Embed Views
0

Actions

Likes
0
Downloads
35
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Acceso a datos con JAVA Acceso a datos con JAVA Document Transcript

  • Proyecto Integrador IIIAcceso a Datos con JDBC 1/4Sesión 1INTRODUCCION A JDBCJava Database Connectivity (JDBC) es una interface de acceso a bases de datos estándar SQL queproporciona un acceso uniforme a una gran variedad de bases de datos relacionales. Para usarJDBC con un sistema gestor de base de datos en particular, es necesario disponer del driver JDBCapropiado que haga de intermediario entre ésta y JDBC. Consiste en un conjunto de clases einterfaces escritas en el lenguaje de programación Java. JDBC suministra un API estándar para losdesarrolladores y hace posible escribir aplicaciones de base de datos usando un API puro Java.Los controladores de JDBC se clasifican en grupos:  Controladores Tipo 1: traducen de JDBC a ODBC y se basan en un controlador ODBC para comunicarse con las bases de datos.  Controladores Tipo 2: están escritos parte en Java y parte en código nativo. Se comunica con la API de cliente de la base de datos.  Controladores Tipo 3: son bibliotecas de clientes de Java puro que utiliza un protocolo independiente de la base de datos para comunicar solicitudes de base de datos a un componente de servidor, el cual traduce a un protocolo propio de las base de datos.  Controladores Tipo 4: son bibliotecas de Java puro que traducen directamente solicitudes de JDBC a un protocolo de la base de datos.Casi todos los fabricantes de base de datos proporcionan controladores de tipo 3 y 4. Para iniciarel trabajo con JDBC es necesario disponer del Driver acorde a la Base de Datos y a su versión. Lasclases que se utilizan para la programación en JDBC están almacenadas en los paquetes java.sql yjavax.sql.La clase DriverManager implementa la capa de gestión de JDBC, y trabaja como intermediariaentre el usuario y los drivers. Guarda la lista de los drivers que están disponibles y establece laconexión entre la base de datos y el driver apropiado. La clase DriverManager mantiene una listade clases disponibles que han sido registrados. Mediante una llamada al método Class.forNamecarga explícitamente la clase driver.Los nombres de las clases del controlador JDBC son formatos propios de cada base de datos. Losnombres típicos de controladores son:  org.postgresql.Diver  com.mckoi.JDBCDriver  oracle.jdbc.OracleDriver  entre otros.Para registrar manualmente un controlador utilice el siguiente código:Ing. Daniel Layedra Larrea Marzo – Agosto 2012DOCENTE EIS
  • Proyecto Integrador IIIAcceso a Datos con JDBC 2/4Sesión 1Una vez que la clase Driver ha sido cargada y registrada con la clase DriverManager, se está encondiciones de establecer la conexión con la base de datos. La solicitud de la conexión se realizamediante una llamada al método DriverManager.getConnection, y DriverManager testea losdrivers registrados para ver si puede establecer la conexión.Para establecer una conexión con una base de datos, es preciso especificar el origen de datos através de una URL ordinaria que debe ser compuesta por el driver, dirección del servidor de basede datos, el puerto del servicio y la base de datos.EJECUCIÓN DE CONSULTASUn objeto Statement se usa para enviar sentencias SQL a la base de datos. Actualmente hay trestipos de objetos, todos los cuales actúan como contenedores para la ejecución de sentencias enuna conexión dada:Statement, PreparedStatement que hereda de Statement y CallableStatement que hereda dePreparedStatement. Estas están especializadas para enviar tipos particulares de sentencias SQL,Un objeto Statement se usa para ejecutar una sentencia SQL simple sin parámetros. Un objetoPreparedStatement se usa para ejecutar sentencias SQL precompiladas con o sin parámetros IN; yun objeto CallableStatement se usa para ejecutar un procedimiento almacenado.Un objeto Statement se crea mediante el método de Connection createStatement, como podemosver en el siguiente fragmento de código.Ing. Daniel Layedra Larrea Marzo – Agosto 2012DOCENTE EIS
  • Proyecto Integrador IIIAcceso a Datos con JDBC 3/4Sesión 1La interfase Statement nos suministra tres métodos diferentes para ejecutar sentencias SQL,executeQuery, executeUpdate y execute. El método a usar está determinado por el producto dela sentencia SQL. El método executeQuery está diseñado para sentencias que producen comoresultado un único ResultSet tal como las sentencias SELECT. El método next() se usa paramoverse a la siguiente fila del ResultSet, convirtiendo a ésta en la fila actual. Los métodos getXXXsuministran los medios para recuperar los valores de las columnas de la fila actual. Puede usarse obien el nombre de la columna o el número de columna para referirse a esta.El método executeUpdate se usa para ejecutar sentencias INSERT, UPDATE ó DELETE así comosentencias SQL DDL (Data Definition Language) como CREATE TABLE o DROP TABLE. El valordevuelto de executeUpdate es un entero que indica el número de filas que han sido afectadas.El método execute se usa para ejecutar sentencias que devuelven más de un ResultSet, más que elnúmero de filas afectadas o una combinación de ambos.CONSULTAS PREPARADASLa interfase PreparedStatement hereda de Statement y difiere de esta en dos maneras.  Las instancias de PreparedStatement contienen una sentencia SQL que ya ha sido compilada. Esto es lo que hace que se le llame ‘preparada’.  La sentencia SQL contenida en un objeto PreparedStatement pueden tener uno o más parámetros IN. Un parámetro IN es aquel cuyo valor no se especifica en la sentencia SQL cuando se crea. En vez de ello la sentencia tiene un interrogante (‘?’) como un ‘encaje’ para cada parámetro IN. Debe suministrarse un valor para cada interrogante mediante el método apropiado setXXX antes de ejecutar la sentencia.Como los objetos PreparedStatement están precompilados, su ejecución es más rápida que losobjetos Statement. Consecuentemente, una sentencia SQL que se ejecute muchas veces amenudo se crea como PreparedStatement para incrementar su eficacia.Ing. Daniel Layedra Larrea Marzo – Agosto 2012DOCENTE EIS
  • Proyecto Integrador IIIAcceso a Datos con JDBC 4/4Sesión 1Ing. Daniel Layedra Larrea Marzo – Agosto 2012DOCENTE EIS