Tema 5 Conexion Base Datos JDBC NetBeans

Universidad Católica Los Ángeles de Chimbote – Programación Visual II CONEXIÓN A LA BASE DE DATOS CON JDBC ¿Qué es un

Views 198 Downloads 31 File size 625KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

CONEXIÓN 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 programación para los desarrolladores de Java que escriben los programas que tienen acceso a la información guardada en bases de datos, hojas de cálculo, y archivos "planos". JDBC se utiliza comúnmente para conectar un programa del usuario con una base de datos por “detrás de la escena”, sin Ing. Martín Salcedo Quiñones

Página 1

Universidad Católica Los Ángeles de Chimbote – Programación Visual II importar qué software de administración 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 estándar 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 genéricas en Windows utilizan las llamadas ODBC. Con JDBC ocurre exactamente lo mismo: JDBC es una especificación de un conjunto de clases y métodos de operación que permiten a cualquier programa Java acceder a sistemas de bases de datos de forma homogénea. Lógicamente, al igual que ODBC, la aplicación 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 comunicación 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, haría que las aplicaciones Java también perdiesen la portabilidad. Y además, ODBC tiene el inconveniente de que se ha de instalar manualmente en cada máquina; al contrario que los drivers JDBC, que al estar escritos en Java son automáticamente 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 operación 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. Martín Salcedo Quiñones

Página 2

Universidad Católica Los Ángeles de Chimbote – Programación Visual II Acceso a base de datos con JDBC A continuación vemos los modelos diferentes de acceso a base de datos: Modelo de 2 capas El presente modelo se basa en que la conexión se presenta entre la aplicación 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 aplicación Java propiamente dico y una aplicación 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 máquina y se accede a ella mediante la red. Esta es la configuración de típica Cliente/Servidor: el programa cliente envía instrucciones SQL a la base de datos, ésta las procesa y envía los resultados de vuelta a la aplicación 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 través de la red, con la máquina donde reside la base de datos. Ing. Martín Salcedo Quiñones

Página 3

Universidad Católica Los Ángeles de Chimbote – Programación 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 máquina 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 continuación: 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 después de importar el paquete java.sql consiste en cargar el controlador JDBC, es decir un objeto Driver específico para una base de datos que define cómo se ejecutan las instrucciones para esa base de datos en particular. Hay varias formas de hacerlo, pero la más sencilla es utilizar el método forName() de la clase Class: Ing. Martín Salcedo Quiñones

Página 4

Universidad Católica Los Ángeles de Chimbote – Programación 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 método estático forName() definido por la clase Class genera un objeto de la clase especificada. Cualquier controlador JDBC tiene que incluir una parte de iniciación estática que se ejecuta cuando se carga la clase. En cuanto el cargador de clases carga dicha clase, se ejecuta la iniciación estática, que pasa a registrarse como un controlador JDBC en el DriverManager. En toda aplicación de bases de datos con MySQL es indispensable poder establecer la conexión al servidor para posteriormente enviarle las consultas. Los programas en Java no son la excepción. El siguiente código nos servirá para verificar que podemos establecer una conexión 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(“Conexión a la base de datos ”+bd+”... OK”); conn.close(); } } catch(SQLException ex) { System.out.println(ex); } catch(ClassNotFoundException ex)

Ing. Martín Salcedo Quiñones

Página 5

Universidad Católica Los Ángeles de Chimbote – Programación Visual II { System.out.println(ex); } } }

En esta programación 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 contraseña o password y el url. Una vez en el método principal llamado main se declara la variable objeto conn y a través de la instrucción try se busca proteger la ejecución ante posibles errores (lo que se denomina manejo de excepciones). Con

la

instrucción:

Class.forName(“com.mysql.jdbc.Driver).newInstance();,

se

establece el driver para el gestor de base de datos MySql. Luego en la siguiente línea de programación se establece la conexión con la base de datos a través del método getConnection perteneciente a la clase DriverManager. A través de la sentencia selectiva if se evalúa el éxito de la conexión, por lo tanto, si la variable conn es diferente de null significa que se logró la conexión, caso contrario se mostrará mensajes de error, gracias a la instrucción catch.

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

Ing. Martín Salcedo Quiñones

Página 6

Universidad Católica Los Ángeles de Chimbote – Programación Visual II JDBC, se requiere de un conector. Ese conector es específico 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 versión 5.0 para dicho conector. NetBeans nos permite la tarea de conectar una aplicación a una base de datos Conexión de una Aplicación a una base de datos creada en MySql Para conectar a una aplicación a una base de datos, se requiere: 1. Agregarle a NetBeans el conector como una biblioteca o librería. Esto permite que el conector esté disponible para los proyectos. 2. Agregarle a un proyecto el conector. Esto permite que la aplicación se pueda conectar a la base de datos. A continuación procedemos agregarle a NetBeans un conector a una base de datos MySql: a. Seleccione la opción Herramientas/Bibliotecas de la barra de menú del entorno de NetBeans.

Ing. Martín Salcedo Quiñones

Página 7

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

b. Se visualiza un cuadro de diálogo que permite administrar las librerías o bibliotecas de NetBeans. En la ventana, al lado izquierdo se observa las librerías 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 botón de comando Biblioteca Nueva ...

Ing. Martín Salcedo Quiñones

Página 8

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

c. Se mostrará un cuadro de diálogo donde se establecerá el nombre que daremos al conector, como por ejemplo MySQL y luego damos click en el botón de comando Aceptar.

d. Se cierra el cuadro de diálogo y volvemos a la ventana anterior donde se observará la nueva librería MySQL. Posteriormente procedemos a dar clic en el botón de comando Agregar archivo JAR/Carpeta ... Ing. Martín Salcedo Quiñones

Página 9

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

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

Ing. Martín Salcedo Quiñones

Página 10

Universidad Católica Los Ángeles de Chimbote – Programación Visual II f. Al dar clic en Agregar archivo JAR / Carpeta volvemos a la ventana anterior. Cabe señalar que en las últimas versiones de NetBeans ya existe una librería o biblioteca para la conexión a una base de datos de MySql, denominada Driver MySQL JDBC.

Damos click en el botón de comando Aceptar y vamos a crear un proyecto: 1. Seleccionamos la opción Archivo/Nuevo Proyecto de la barra de menú del entorno de NetBeans.

Ing. Martín Salcedo Quiñones

Página 11

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

2. Seleccionamos en Categorías: Java y como proyecto: Aplicación Java. Luego damos click en el botón de comando Siguiente.

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

Ing. Martín Salcedo Quiñones

Página 12

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

4. En Bibliotecas lo seleccionamos y damos clic con el botón de derecho y elegimos la opción Agregar Biblioteca

5. Aparece un cuadro de diálogo para seleccionar la librería 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. Martín Salcedo Quiñones

Página 13

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

6. Volvemos al entorno de NetBeans y se observa la nueva librería agregada

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

Ing. Martín Salcedo Quiñones

Página 14

Universidad Católica Los Ángeles de Chimbote – Programación Visual II conjuntamente con las tablas de Ciudad y Ruta. Seleccionamos la pestaña Prestaciones y en Base de Datos seleccionamos la carpeta Controladores.

8. Para agregar el conector MySQL, haga clic en el botón derecho del mouse en el nodo o carpeta Controladores y seleccione la opción Nuevo Controlador

9. Aparecerá el cuadro de diálogo para agregar un conector. Dar clic en el botón de comando Agregar.

Ing. Martín Salcedo Quiñones

Página 15

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

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

11. En el cuadro de diálogo para agregar el conector se mostrará la información del conector seleccionado. Luego dar clic en el botón de comando Aceptar.

Ing. Martín Salcedo Quiñones

Página 16

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

12. Un nuevo nodo para el conector a MySql, aparecerá en la pestaña Prestaciones

13. Ahora procederemos a conectarnos con la base de datos de universidad. Seleccionamos el driver MySQL y damos clic botón derecho y elegimos la opción Conecting using Ing. Martín Salcedo Quiñones

Página 17

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

14. Se muestra un cuadro de diálogo para establecer el URL de la base de datos usando el siguiente formato: jdbc:mysql://servidor:puerto/baseDatos donde servidor es la dirección 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. Martín Salcedo Quiñones

Página 18

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

15. Damos clic en el botón de comando OK. A continuación aparecerá una ventana confirmando la conexión con la base de datos de universidad. Luego damos clic en el botón de comando Aceptar

16. En el entorno de NetBeans se mostrará un nuevo nodo de conexión a la base de datos.

Ing. Martín Salcedo Quiñones

Página 19

Universidad Católica Los Ángeles de Chimbote – Programación Visual II

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

Ing. Martín Salcedo Quiñones

Página 20