You are on page 1of 20

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

CONEXIN A LA BASE DE DATOS CON JDBC

Qu es un JDBC? La conectividad de la base de datos de Java ( JDBC , Java Database Connectivity) es un marco de programacin para los desarrolladores de Java que escriben los programas que tienen acceso a la informacin guardada en bases de datos, hojas de clculo, y archivos "planos". JDBC se utiliza comnmente para conectar un programa del usuario con una base de datos por detrs de la escena, sin
Ing. Martn Salcedo Quiones Pgina 1

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


importar qu software de administracin o manejo de base de datos se utilice para controlarlo. Para la gente del mundo Windows, JDBC es para Java lo que ODBC es para Windows. Windows en general no sabe nada acerca de las bases de datos, pero define el estndar ODBC consistente en un conjunto de primitivas que cualquier driver o fuente ODBC debe ser capaz de entender y manipular. Los programadores que a su vez deseen escribir programas para manejar bases de datos genricas en Windows utilizan las llamadas ODBC. Con JDBC ocurre exactamente lo mismo: JDBC es una especificacin de un conjunto de clases y mtodos de operacin que permiten a cualquier programa Java acceder a sistemas de bases de datos de forma homognea. Lgicamente, al igual que ODBC, la aplicacin de Java debe tener acceso a un driver JDBC adecuado. Este driver es el que implementa la funcionalidad de todas las clases de acceso a datos y proporciona la comunicacin entre el API JDBC y la base de datos real. ODBC es un interfaz escrito en lenguaje C, que al no ser un lenguaje portable, hara que las aplicaciones Java tambin perdiesen la portabilidad. Y adems, ODBC tiene el inconveniente de que se ha de instalar manualmente en cada mquina; al contrario que los drivers JDBC, que al estar escritos en Java son automticamente instalables, portables y seguros. La conectividad de bases de datos de Java se basa en sentencias SQL, por lo que se hace imprescindible un conocimiento adecuado de SQL para realizar cualquier clase de operacin de bases de datos. Aunque, afortunadamente, casi todos los entornos de desarrollo Java ofrecen componentes visuales que proporcionan una funcionalidad suficientemente potente sin necesidad de que sea necesario utilizar SQL, aunque para usar directamente el JDK se haga imprescindible

Ing. Martn Salcedo Quiones

Pgina 2

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


Acceso a base de datos con JDBC A continuacin vemos los modelos diferentes de acceso a base de datos: Modelo de 2 capas El presente modelo se basa en que la conexin se presenta entre la aplicacin Java o el applet (que se ejecuta en el navegador), se conectan directamente a la base de datos.

Como sabemos en Java se puede tener dos tipos de aplicaciones: la aplicacin Java propiamente dico y una aplicacin applet, esta ltima que se ejecuta en un navegador. Observamos en la figura que el driver o controlador JDBC debe residir en la computadora local. La base de datos puede estar en cualquier otra mquina y se accede a ella mediante la red. Esta es la configuracin de tpica Cliente/Servidor: el programa cliente enva instrucciones SQL a la base de datos, sta las procesa y enva los resultados de vuelta a la aplicacin Modelo de 3 capas El presente modelo, las instrucciones son enviadas a una capa intermedia entre Cliente y Servidor, que es la que se encarga de enviar las sentencias SQL a la base de datos y recoger el resultado desde la base de datos. En este caso el usuario no tiene contacto directo, ni a travs de la red, con la mquina donde reside la base de datos.
Ing. Martn Salcedo Quiones Pgina 3

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

Comparando con el modelo anterior, se observa que el driver o controlador JDBC se encuentra junto al servidor de aplicaciones, esto hace que la mquina del cliente no se preocupe por instalar el controlador. El nivel intermedio mantiene en todo momento el control del tipo de operaciones que se realizan contra la base de datos Cargar el controlador JDBC Para trabajar con el API JDBC se tiene que importar el paquete java.sql, tal y como se indica a continuacin:
import java.sql.*;

En este paquete se definen los objetos que proporcionan toda la funcionalidad que se requiere para el acceso a bases de datos. El siguiente paso despus de importar el paquete java.sql consiste en cargar el controlador JDBC, es decir un objeto Driver especfico para una base de datos que define cmo se ejecutan las instrucciones para esa base de datos en particular. Hay varias formas de hacerlo, pero la ms sencilla es utilizar el mtodo forName() de la clase Class:
Ing. Martn Salcedo Quiones Pgina 4

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


Class.forName("Controlador JDBC");

para el caso particular del controlador para MySQL, Connector/J, se tiene lo siguiente:
Class.forName("com.mysql.jdbc.Driver");

Debe tenerse en cuenta que el mtodo esttico forName() definido por la clase Class genera un objeto de la clase especificada. Cualquier controlador JDBC tiene que incluir una parte de iniciacin esttica que se ejecuta cuando se carga la clase. En cuanto el cargador de clases carga dicha clase, se ejecuta la iniciacin esttica, que pasa a registrarse como un controlador JDBC en el DriverManager. En toda aplicacin de bases de datos con MySQL es indispensable poder establecer la conexin al servidor para posteriormente enviarle las consultas. Los programas en Java no son la excepcin. El siguiente cdigo nos servir para verificar que podemos establecer una conexin a nuestra base de datos transportes
import java.sql.*; public class TestConnection { static String bd=transportes; static String login=bingo; static String password=hola; static String url=jdbc:mysql://localhost/+bd; public static void mian(String[ ] args)throws IOException { Connection conn = null; try { Class.forName(com.mysql.jdbc.Driver); conn = DriverManager.getConnection(url,login,password); if (conn != null) { System.out.println(Conexin a la base de datos +bd+... OK); conn.close(); } } catch(SQLException ex) { System.out.println(ex); } catch(ClassNotFoundException ex)

Ing. Martn Salcedo Quiones

Pgina 5

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


{ System.out.println(ex); } } }

En esta programacin se inicia importanto el paquete sql perteneciente a java. El signo del asterisco significa que el programa puede hacer uso de culaquier clase contenida en el paquete sql. Se construye la clase TextConnection, estableciendo 4 variables o atributos de tipo String donde se almacena el nombre de la base de datos, el login, la contrasea o password y el url. Una vez en el mtodo principal llamado main se declara la variable objeto conn y a travs de la instruccin try se busca proteger la ejecucin ante posibles errores (lo que se denomina manejo de excepciones). Con la instruccin:
Class.forName(com.mysql.jdbc.Driver).newInstance();,

se

establece el driver para el gestor de base de datos MySql. Luego en la siguiente lnea de programacin se establece la conexin con la base de datos a travs del mtodo getConnection perteneciente a la clase DriverManager. A travs de la sentencia selectiva if se evala el xito de la conexin, por lo tanto, si la variable conn es diferente de null significa que se logr la conexin, caso contrario se mostrar mensajes de error, gracias a la instruccin catch.

Conector a la base de datos Una aplicacin en Java para que logre comunicarse con una base de datos usando la API

Ing. Martn Salcedo Quiones

Pgina 6

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


JDBC, se requiere de un conector. Ese conector es especfico para el manejador de base de datos y viene en la forma de un archivo .jar o .zip. El conector para la base de datos MySQL, est en el archivo: mysql-connector-java-5.0.XX.jar Existe versiones superiores como la versin 5.0 para dicho conector. NetBeans nos permite la tarea de conectar una aplicacin a una base de datos Conexin de una Aplicacin a una base de datos creada en MySql Para conectar a una aplicacin a una base de datos, se requiere: 1. Agregarle a NetBeans el conector como una biblioteca o librera. Esto permite que el conector est disponible para los proyectos. 2. Agregarle a un proyecto el conector. Esto permite que la aplicacin se pueda conectar a la base de datos. A continuacin procedemos agregarle a NetBeans un conector a una base de datos MySql: a. Seleccione la opcin Herramientas/Bibliotecas de la barra de men del entorno de NetBeans.

Ing. Martn Salcedo Quiones

Pgina 7

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

b. Se visualiza un cuadro de dilogo que permite administrar las libreras o bibliotecas de NetBeans. En la ventana, al lado izquierdo se observa las libreras agregadas a NetBeans. Del lado derecho aparece el nombre de la biblioteca y la trayectoria del archivo con la biblioteca. Para agregar el conector a MySQL a NetBeans presione el botn de comando Biblioteca Nueva ...

Ing. Martn Salcedo Quiones

Pgina 8

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

c. Se mostrar un cuadro de dilogo donde se establecer el nombre que daremos al conector, como por ejemplo MySQL y luego damos click en el botn de comando Aceptar.

d. Se cierra el cuadro de dilogo y volvemos a la ventana anterior donde se observar la nueva librera MySQL. Posteriormente procedemos a dar clic en el botn de comando Agregar archivo JAR/Carpeta ...
Ing. Martn Salcedo Quiones Pgina 9

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

e. Buscamos el conector mysql-connector-java-5.0.7- bin.jar

Ing. Martn Salcedo Quiones

Pgina 10

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


f. Al dar clic en Agregar archivo JAR / Carpeta volvemos a la ventana anterior. Cabe sealar que en las ltimas versiones de NetBeans ya existe una librera o biblioteca para la conexin a una base de datos de MySql, denominada Driver MySQL JDBC.

Damos click en el botn de comando Aceptar y vamos a crear un proyecto: 1. Seleccionamos la opcin Archivo/Nuevo Proyecto de la barra de men del entorno de NetBeans.

Ing. Martn Salcedo Quiones

Pgina 11

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

2. Seleccionamos en Categoras: Java y como proyecto: Aplicacin Java. Luego damos click en el botn de comando Siguiente.

3. Luego indicamos como nombre del proyecto universidad y posteriormente damos clic en el botn de comando Terminar, quedando el entorno de NetBeans de la siguiente manera:

Ing. Martn Salcedo Quiones

Pgina 12

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

4. En Bibliotecas lo seleccionamos y damos clic con el botn de derecho y elegimos la opcin Agregar Biblioteca

5. Aparece un cuadro de dilogo para seleccionar la librera a agregar, en este caso MySQL (en las ltimas versiones de NetBeans tenemos el conector Driver MySQL JDBC) y damos clic en Agregar Biblioteca

Ing. Martn Salcedo Quiones

Pgina 13

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

6. Volvemos al entorno de NetBeans y se observa la nueva librera agregada

7. Ahora procedemos a la conexin de una base de datos, que en este caso ser la base de datos transportes, la misma que ya se encuentra creada

Ing. Martn Salcedo Quiones

Pgina 14

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


conjuntamente con las tablas de Ciudad y Ruta. Seleccionamos la pestaa Prestaciones y en Base de Datos seleccionamos la carpeta Controladores.

8. Para agregar el conector MySQL, haga clic en el botn derecho del mouse en el nodo o carpeta Controladores y seleccione la opcin Nuevo Controlador

9. Aparecer el cuadro de dilogo para agregar un conector. Dar clic en el botn de comando Agregar.

Ing. Martn Salcedo Quiones

Pgina 15

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

10. Navegar hasta encontrar el conector, seleccionado y dando clic en Abrir.

11. En el cuadro de dilogo para agregar el conector se mostrar la informacin del conector seleccionado. Luego dar clic en el botn de comando Aceptar.

Ing. Martn Salcedo Quiones

Pgina 16

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

12. Un nuevo nodo para el conector a MySql, aparecer en la pestaa Prestaciones

13. Ahora procederemos a conectarnos con la base de datos de universidad. Seleccionamos el driver MySQL y damos clic botn derecho y elegimos la opcin Conecting using
Ing. Martn Salcedo Quiones Pgina 17

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

14. Se muestra un cuadro de dilogo para establecer el URL de la base de datos usando el siguiente formato: jdbc:mysql://servidor:puerto/baseDatos donde servidor es la direccin IP (o nombre de dominio del servidor), en caso que el servidor est en la misma computadora que NetBeans utiliza el nombre: localhost; puerto es el puerto empleado por el servidor. Si el servidor utiliza el puerto predefinido, se puede omitir; baseDatos es la base de datos a la que se desea conectar.

Ing. Martn Salcedo Quiones

Pgina 18

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

15. Damos clic en el botn de comando OK. A continuacin aparecer una ventana confirmando la conexin con la base de datos de universidad. Luego damos clic en el botn de comando Aceptar

16. En el entorno de NetBeans se mostrar un nuevo nodo de conexin a la base de datos.

Ing. Martn Salcedo Quiones

Pgina 19

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

17. Si damos click en + respecto al nodo creado se visualizar la tabla existente en la base de datos de universidad.

Ing. Martn Salcedo Quiones

Pgina 20

You might also like