Professional Documents
Culture Documents
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
Pgina 2
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
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
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)
Pgina 5
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
Pgina 6
Pgina 7
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 ...
Pgina 8
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
Pgina 10
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.
Pgina 11
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:
Pgina 12
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
Pgina 13
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
Pgina 14
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.
Pgina 15
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.
Pgina 16
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
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.
Pgina 18
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
Pgina 19
17. Si damos click en + respecto al nodo creado se visualizar la tabla existente en la base de datos de universidad.
Pgina 20