Conexiones entre MySQL y Java
En muchas ocaciones es necesario que nuestra aplicación desarrollada en Java acceda a, y manipule, datos que se encuentra en algún DBMS, como por ejemplo MySQL. Para esto debemos echar mano de la API JDBC de Java, y además de esto, usar los Drivers “específicos” para manipular DBMS’s “específicos” (Oracle, MySQL, etc.).
MySQL provee conectividad para aplicaciones cliente desarrolladaas en Java mediante este driver JDBC, llamado MySQL Connector/J, que es el driver JDBC oficial para MySQL. La ultima versión de este conector, al momento de escribir este articulo, es el Connector/J 5.1, que incluye soporte para las funcionalidades del JDBC-4.0.
MySQL Connector/J es un driver JDBC tipo 4. Existen otras versiones que son compatibles con las especificaciones JDBC-3.0 y JDBC-4.0. Se dice que es tipo 4 ya que el driver es una implementación del protocolo de MySQL hecha puramente en Java, y no requiere de clientes binarios de MySQL. [Más info]
Por suspuesto es necesario que comprendas de manera clara el funcionamiento de la API de JDBC, para poder usar cualquier conector. Puedes si quieres leer estos dos tutoriales muy básicos y fáciles de entender, donde te podrás introducir en el tema:
Instalando el MySQL Connector
Lo primero que debemos hacer, es ir a la página de descargas del conector de MySQL y descargarnos la última versión (si es necesario). Escogemos el tipo de archivo que nos convenga (por ejemplo el tar.gz si usamos Gnu/Linux, o zip si usamos Windows). Descomprimimos el archivo y observamos que nos proporcionan:
- Los binarios ejecutables (en mi caso mysql-connector-java-5.1.5-bin.jar)
- Los archivos fuente
- La documentación del conector
Debemos entonces copiar el archivo JAR ejecutable, en el siguiente path: \ruta_instalacion_java\jre\lib\ext. Por ejemplo en mi openSuse sería en /usr/lib/jvm/jdk5.0/jre/lib/ext, o en Windows podría ser en C:\Program Files\Java\jre1.6.0_01\lib\ext,
Luego de copiar dicho archivo, ya podemos usar el conector de MySQL desde nuestras aplicaciónes en Java, JSP, servlets, etc.
Nota: Es importante que el usuario que ejecute la aplicación, tenga privilegios de lectura y ejecución sobre el archivo .jar, de lo contrario podrían aparecer errores al momento de leer las clases de dicho conector. En Gnu/Linux, por ejemplo, los paths donde se coloca el conector suelen ser propiedad del usuario root, por lo que lo mejor que puedes hacer es cambiar el propietario del archivo una vez lo hayas copiado, por ejemplo:
sudo chown tu_nombre_de_usuario /usr/lib/jvm/jdk5.0/jre/lib/ext/mysql-connector-java-XXX-bin.jar
Eso es todo, ahora puedes si quieres montar un entorno de trabajo Apache + MySQL + Java (JSP).
![]()
23 Comentarios | deja el tuyo



Me gusto tanto que hice un video-tutorial, :
Parte 1:
http://www.youtube.com/watch?v=Ulp9mOuDWac
Parte2:
http://www.youtube.com/watch?v=Tm7ALvYzQLk
Parcero, están muy bacanos… mañana creo una entrada en el blog con eso.
Un saludo.
De 1 hagalee
Hola una pregunta
el conector sirve solo para conectar un lenguaje de programacion con toda la base de datos no? :s
no me queda muy claro saludos
Hola hk,
Los conectores para bases de datos en Java, son paquetes que contienen las clases necesarias para realizar conexiones con bases de datos usando un API estándar y abstrayendo las complejidades de una conexión.
Puedes ver un ejemplo bastante completo e intuitivo en estos video tutoriales:
http://casidiablo.net/video-tutorial-mysql-java/
Un saludo.
Hola, mi consulta es ésta:
Hice una clase en blueJ, que ingreso datos y me arroja resultados, además almacena en una variable el total de las ventas. Lo que necesito hacer es que esa información quede almacenada y que cuando cierre el programa no se borre. y si ejecuto la clase otra vez, me siga contando de donde estaba.
En resumidas cuentas, quiero hacer de la clase un programa. Sin tener que usar el blueJ de medio.
No se si me explique bien, recién estoy empezando a programar.
Ojalá pueda ayudarme.
De antemano muchas gracias.
Hola Yasna, puedes echarle un vistazo a los ejemplos en donde se explica cómo guardar datos persistentemente en Java:
http://casidiablo.net/codigo-ejemplo-completo-de-archivos-aleatorios-en-java/
http://casidiablo.net/objectinputstream-java/
Un saludo!