JDBC MONOGRAFIA

download JDBC MONOGRAFIA

of 42

  • date post

    15-Aug-2015
  • Category

    Software

  • view

    31
  • download

    0

Embed Size (px)

Transcript of JDBC MONOGRAFIA

  1. 1. ACCESO A BASES DE DATOS CON JDBC CAPITULO PRIMERO: HISTORIA DEL JDBC JDBC existe desde 1996, y fue incluido desde la versin 1.1 de Java Development Kit por JavaSoft, aunque tambin se hizo disponible para usarse con JDK 1.02. El problema de usar JDBC con el JDK 1.02 es que los usuarios comunes tenan que agregar a su maquina virtual de Java las clases que implementan JDBC, lo cual era muy engorroso y difcil. Es por esto que desde la versin de JDK 1.1, JDBC viene incluido como el paquete java.sql. Java en un principio era visto como un lenguaje para poner animaciones en Internet, la informacin que presentaba no era persistente, as que no era apto para aplicaciones de negocios o industriales, que requeran la capacidad de acceder a informacin almacenada en Sistemas Gestionadores de Bases de Datos (DBMS). Era adems necesario crear una forma sencilla de acceder a bases de datos usando Java, pues de otra manera se dejara al desarrollador con la tarea de implementar llamadas de bajo nivel al DBMS. En ese entonces Java era un lenguaje que prometa independencia de plataformas, lo cual lo hacia un ambiente muy atractivo para crear todo tipo de aplicaciones, y el acceso a Base de Datos se converta cada vez ms en una necesidad que un lujo. La gente en JavaSoft se pregunt como atraer a los programadores y a las empresas a invertir su dinero y su tiempo en JDBC. Es por esto que decidieron crear ventajas competitivas en su producto, mejorando cada vez mas la interface de JDBC para que: 1
  2. 2. ACCESO A BASES DE DATOS CON JDBC 1. Los programadores pudieran sentirse como si usaran solamente Java, permitindoles una forma sencilla de uso del DBMS. 2. Los programadores se sintieran en contacto directo con el DBMS y no con un socket o un proceso en cualquier maquina. 3. La comunicacin con la base de datos fuera fcil de programar. Esto es, que las empresas que quisieran hacer controladores JDBC para comunicarse con sus productos lo pudieran hacer en forma sencilla. 4. Fuese flexible, para aceptar configuraciones diferentes de conectividad. Osea, que la misma aplicacin del desarrollador pudiese acceder a varios DBMS a la vez, tal vez hasta en varios hilos simultneos. JDBC vs. ODBC ODBC (Open DataBase Connectivity: Conectividad abierta de Base de Datos) es la interface para conectarse con BDs relacionales ms usada por los programadores de aplicaciones. Tal vez nos estemos preguntando porque se desarroll JDBC si ya exista una interface popular que supuestamente hace lo mismo. La respuesta es que se usa JDBC por diferentes razones: ODBC usa una interface escrita en lenguaje de programacin C. Por lo tanto hace que no sea portable. ODBC se ha de instalar manualmente en cada maquina, en cambio los drivers de JDBC como estn escritos en JAVA son automticamente instalables, portables y seguros. Hay que decir tambin, que existen drivers puente entre JDBC-ODBC, los cuales traducen las llamadas de JDBC a ODBC permitiendo comunicarse con distintas BD propietarias. De esta manera por ejemplo podemos trabajar con una BD Access de Microsoft que usa ODBC, con el lenguaje JAVA. 2
  3. 3. ACCESO A BASES DE DATOS CON JDBC CAPITULO SEGUNDO: QU ES JDBC? JDBC (Java Data Base Connectivity) es una versin del mdulo DBI en Perl 5. Este brinda una interfaz estndar con el servidor de base de datos, y a su vez, provee una API que se puede usar sin importar qu base de datos se est usando. Adems, est soportado por una cantidad de drivers JDBC que le permiten conectarse con los diferentes sistemas propietarios. LIMITACIONES: Aunque Java es un poco lento e incmodo para usar en un Internet en el que no se pueden controlar los navegadores, sistemas operativos o especificaciones de hardware del usuario, promete quedarse con nosotros por varios aos. Por lo menos, JDBC es mucho ms til para el desarrollo de aplicaciones de servidor donde se puede controlar mucho mejor el ambiente. 3
  4. 4. ACCESO A BASES DE DATOS CON JDBC 2.1 El Driver JDBC: Siendo el JDBC un API que permite mandar queries a una base de datos relacional, es necesario que ste se conecte a dicha base de datos, con lo que es preciso tener un driver adecuado para ella. Ahora, Qu es un driver?: Un driver suele ser un fichero .jar que contiene una implementacin de todos los interfaces del API de JDBC. Nuestro cdigo nunca depende del driver, dado que siempre trabaja contra los paquetes java.sql y javax.sql. La estructura del driver del JDBC es la siguiente: Existen a su vez cuatro tipos de drivers, los que se dividen de la siguiente manera: 4
  5. 5. ACCESO A BASES DE DATOS CON JDBC Los drivers de tipo 1 y 2 llaman a APIs nativas mediante JNI (Java Native Interface) => requieren que la mquina en la que corre la aplicacin tenga instaladas las libreras de las APIs nativas (.DLL, .so) Los drivers de tipo 3 y 4 son drivers 100% Java La ventaja de un driver de tipo 3 es que una aplicacin puede usarlo para conectarse a varias BDs, pero esto tambin se puede conseguir usando un driver distinto (de los otros tipos) para cada BD. Eficiencia: En general, los drivers ms eficientes son los de tipo 2 5
  6. 6. ACCESO A BASES DE DATOS CON JDBC CAPITULO TERCERO: ACCESO A BASES DE DATOSJAVA IDL JDBC fue diseado para mantener sencillas las cosas sencillas. Esto significa que el API JDBC hace muy sencillas las tareas diarias de una base de datos, como una simple sentencia SELECT. Esta seccin nos llevar a travs de ejemplos que utilizan el JDBC para ejecutar sentencias SQL comunes, para que podamos ver lo sencilla que es la utilizacin del API JDBC bsico. Dividiendo esta seccin en dos partes, podramos observar el JDBC Bsico que cubre el API JDBC 1.0, que est incluido en el JDK 1.1. La segunda parte cubre el API JDBC 2.0 API, que forma parte de la versin 1.2 del JDK. Tambin describe brevemente las extensiones del API JDBC, que, al igual que otras extensiones estndard, sern liberadas independientemente. El API JDBC 2.0 presenta nuevas caractersticas con respecto al bsico, teniendo entre ellas que nos ensea como mover el cursor por una hoja de resultados, cmo actualizar la hoja de resultados utilizando el API JDBC 2.0, y como hacer actualizaciones batch. 3.1 EMPEZANDO CON EL JDBC: Al querer comenzar a trabajar con el JDBC, lo primero que tenemos que hacer es asegurarnos de que disponemos de la configuracin apropiada. Esto incluye los siguientes pasos. 1. Instalar Java y el JDBC en nuestra mquina: Para instalar tanto la plataforma JAVA como el API JDBC, simplemente tenemos que seguir las instrucciones de descarga de la ltima versin del JDK (Java Development Kit). Junto con el JDK tambin viene el JDBC.. El cdigo de ejemplo de desmostracin del API del JDBC 1.0 fue escrito para el JDK 1.1 y se ejecutar en cualquier versin de la plataforma Java compatible con el JDK 1.1, incluyendo el JDK1.2. Teniendo en cuenta 6
  7. 7. ACCESO A BASES DE DATOS CON JDBC que los ejemplos del API del JDBC 2.0 requieren el JDK 1.2 y no se podrn ejecutar sobe el JDK 1.1. 2. Instalar un driver en nuestra mquina: Nuestro Driver debe incluir instrucciones para su instalacin. Para los drivers JDBC escritos para controladores de bases de datos especficos la instalacin consiste slo en copiar el driver en nuesta mquina; no se necesita ninguna configuracin especial. El driver "puente JDBC-ODBC" no es tan sencillo de configurar. Si descargamos las versiones Solaris o Windows de JDK 1.1, automticamente obtendremos una versin del driver Bridge JDBC- ODBC, que tampoco requiere una configuracin especial. Si embargo, ODBC, si lo necesita. Si no tenemos ODBC en nuestra mquina, necesitaremos preguntarle al vendedor del driver ODBC sobre su instalacin y configuracin. 3. Instalar nuestro Controlador de Base de Datos si es necesario: Si no tenemos instalado un controlador de base de datos, necesitaremos seguir las instrucciones de instalacin del vendedor. La mayora de los usuarios tienen un controlador de base de datos instalado y trabajarn con una base de datos establecida. 2.2 CREANDO UNA CONEXIN: Primero veremos como abrir una conexin con nuestro controlador de base de datos, y luego, ya que JDBC puede enviar cdigo SQL a nuestro controlador, demostraremos algn cdigo SQL. Despus, veremos lo sencillo que es utilizar JDBC para pasar esas sentencias SQL a nuestro controlador de bases de datos y procesar los resultados devueltos. Este cdigo ha sido probado en la mayora de los controladores de base de datos. Sin embargo, podramos encontrar algunos problemas de compatibilidad su utilizamos antiguos drivers ODB con el puente JDBC.ODBC. 7
  8. 8. ACCESO A BASES DE DATOS CON JDBC Para establecer una conexin con el controlador de base de datos que queremos utilizar, debemos realizar dos pasos: (1) cargar el driver y (2) hacer la conexin. Cargar los Drivers: Cargar el driver o drivers que queremos utilizar es muy sencillo y slo implica una lnea de cdigo. Si, por ejemplo, queremos utilizar el puente JDBC-ODBC, se cargara la siguiente lnea de cdigo. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); La documentacin del driver nos dar el nombre de la clase a utilizar. Por ejemplo, si el nombre de la clase es jdbc.DriverXYZ, cargaramos el driver con esta lnea de cdigo. Class.forName("jdbc.DriverXYZ"); No necesitamos crear un ejemplar de un driver y registrarlo con el DriverManager porque la llamada a Class.forName lo hace automticamente. Si hubiramos creado nuestro propio ejemplar, crearamos un duplicado innecesario, pero no pasara nada. Una vez cargado el driver, es posible hacer una conexin con un controlador de base de datos. Hacer la Conexin: El segundo paso para establecer una conexin es tener el driver apropiado conectado al controlador de base de datos. La siguiente lnea de cdigo ilustra la idea general. Connection con = DriverManager.getConnection(url, "myLogin", "myPassword"); Este paso tambin es sencillo, lo ms duro es saber qu suministrar para url. Si estamos utilizando el puente JDBC-ODBC, el JDBC URL empeza