Está en la página 1de 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

También podría gustarte