28 de enero de 2013

Conectar JAVA-MySQL utilizando Connector MySQL

Conectar Java con MySQL cae en la categoría de básico, así que esta de mas indicar la importancia, lo primero a hacer entonces es definir como nos conectaremos, ya sea por ODBC o por JDBC, lo haremos por JDBC primero y utilizaremos la plataforma NetBeans 7.2.1

Esta disponible el connector JDBC de NetBeans?
El Connector JDBC para MySQL es un driver que se comunica desde nuestro IDE Netbeans con la base de datos especificada en MySQL, no se debe descargar este driver porque el NetBeans lo trae, solamente debes añadirlo a tu proyecto desde las librerias globales...en caso quieras verificar por ti mismo, pues entonces dentro de tu proyecto ve a Tools-->ant Libraries y ahi estara la libreria MySQL JDBC Driver tal como muestro en las figuras:

                      Buscamos las librerías globales de NetBeans disponibles para nuestro proyecto

y buscamos la de MySQL JDBC Driver, así como ven, esta disponible en NetBeans y lista para ser utilizada, no debemos descargar nada, solo falta agregarla a nuestro proyecto



Agregando el connector JDBC a NetBeans
En caso que por algún raro hechizo el connector MySQL no este en las librerías del NetBeans podemos descargarlo desde aquí !!! y lo primero que haremos es descomprimir el connector y colocar el contenido en Classpath\lib\ext, luego en nuestro proyecto nos vamos a las librerías y damos click derecho y escogemos Add Library tal como muestro en la figura


Luego en la ventana de librerías disponibles de NetBeans damos click en el botón Create...


Tendremos una nueva ventana en la que se nos pide colocar un nombre para la librería y el tipo, pues entonces le colocamos un nombre y el único tipo disponible es Class Libraries tal como era de esperarse y damos click en el botón OK para continuar


Ahora llegamos a la ventana "Customize Library", como podrán ver ya tiene el nombre especificado en la ventana anterior y la ubicación sera las librerías locales del NetBeans tal como aparece en los dos primeros campos de texto de la ventana, pero ahora vamos a especificar la localizacion del JAR/Folder que vamos a agregar, tu puedes dejarlo donde te de la santa y regalada gana, pero te aconsejo que lo dejes en C:\Program Files\Java\jre7\lib\ext, siguiendo este consejo demos click en el boton Add JAR/Folder...


Al apretar el botón de Add JAR/Folder tendremos la ventana de Browse JAR/Folder como la siguiente en la que debemos localizar el connector para MySQL


y localizamos el connector en C:\Program Files\Java\jre7\lib\ext


escogemos el connector y apretamos el botón Add JAR/Folder


Luego como veran regresamos a la ventana "Customize Library" ya con el Connector disponible y presionamos el boton OK


Ahora de nuevo apareceremos en la ventana de Add Library y ya estará nuestra librería recién creada disponible para ser agregada a nuestro proyecto, la seleccionamos y damos al botón Add Library


y como podemos verificar, la librería ya esta agregada a nuestro proyecto




Ejemplo conexión a MySQL utilizando NetBeans y el connector JDBC 
Ahora creamos un nuevo proyecto en NetBeans al que llame conexión y lo primero que haremos sera agregar la librería de MySQL JDBC Driver, así


También podríamos añadir solamente el .jar al proyecto solamente debes especificar donde esta ubicado, asi pues tanto añadir una librería como añadir JAR/Folder es correcto, en nuestro caso le vamos a agregar una librería y tendremos la siguiente ventana.


Luego solo buscamos el MySQL JDBC Driver y lo agregamos con lo cual las librerias de nuestro proyecto quedaran como se muestra en la imagen, en caso que el NetBeans no incluyera la libreria de MySQL o en caso tu quieras crear tu propia librería para lo que estimes necesario en tu proyecto, solo debes dar al botón Create y buscar el jar correspondiente que utilizaras.



import java.sql.*;
Ahora empecemos con el código de nuestra clase conexión  lo primero que se necesita es importar el paquete de SQL que contiene las clases e interfaces necesarias (y suficientes) para realizar la conexión, lo que más utilizaremos de este paquete será:

  • java.sql.Connection: Representa una conexión con una base de datos.
  • java.sql.DriverManager. Proporciona una capa de acceso para gestionar la funcionalidad del driver, recomendado para pruebas y aplicaciones pequeñas de Java SE, definitivamente para aplicaciones empresariales Java EE Web, es mejor utilizar JDBC Pool de conexiones.
  • java.sql.ResultSetMetaData.- Esta interfaz proporciona métodos para acceder a metadatos del Resultset, como los nombres de las columnas, sus tipos, el nombre de tabla correspondiente y otras propiedades.
  • java.sql.SQLException.- Esta excepción representa todas las condiciones de excepción relacionadas con JDBC.
Necesitamos ahora definir una url de JDBC que representara una cadena de conexión hacia la base de datos a conectar, la sintaxis es propia de cada driver y en forma general es la siguiente: 
                                                         jdbc::

Si todo va bien, tendremos nuestra conexión a la base de datos, si va mal, saltara una excepción  por eso es importante meter todo esto en un try-catch


En la linea 2 y 3 importamos paquetes que vamos a utilizar para realizar la conexión  puede que no quieras importar el de swing y para los avisos al usuario utilizar System.out.println, tu decides.
En las lineas 6-8 definimos el usuario, password y url para conectarnos a la base de datos.
En la linea 11 definimos un objeto conexión
En la linea 14 se carga el controlador JDBC que define cómo se ejecutan las instrucciones en la base de datos.
En la linea 15 El objeto Connection es inicializado, este proporciona una conexión estática a la base de datos. Esto significa que hasta que se llame en forma explícita a su método close() para cerrar la conexión o se destruya el objeto Connection, la conexión a la base de datos permanecerá activa.