sábado, 18 de junio de 2011

Ejemplo conexión Java – Mysql

 

Deben instalar el Servidor Mysql (Cosa que ya debería tener a estas alturas) pero como sé que no es así les dejo el link de descarga: http://dev.mysql.com/downloads/mysql/

Lo primero que necesitamos para conectarnos con una base de datos es un Driver (o Connector) con ella. Ese Driver es la clase que, de alguna forma, sabe cómo hablar con la base de datos. Desgraciadamente (y hasta cierto punto es lógico), java no viene con todos los Drivers de todas las posibles bases de datos del mercado. Debemos ir a internet y obtener el Driver, normalmente en la página de nuestra base de datos
Para el caso de MySQL, podemos descargarlo de


http://dev.mysql.com/downloads/connector/j/5.0.html . Nos bajamos el mysql-connector-java-5.0.5.zip

lo desempaquetamos en algún sitio y nos quedamos con el mysql-connector-java-5.0.5-bin.jar que viene dentro. En ese jar está la clase Driver que nos interesa.

Guardarlo en la carpeta /jre/lib/ext. Si has hecho una instalación por defecto en Windows, estará en C:\Archivos de Programa\Java\jdk1.5.0_05\jre\lib\ext. Esta es la carpeta en la que java nos deja poner jar adicionales para que se encuentren por defecto. Es buena idea ponerlo aquí si vamos a hacer muchos programas con base de datos. Si solo vamos a hacer uno, es mejor no ponerlo aquí. Si decidimos usar esta carpeta, también debemos tener la precaución de ir retirando jars de versiones antiguas cuando pongamos las nuevas, o tendremos problemas.

Una vez que java tiene el jar accesible y sabe dónde encontrarlo, ya podemos empezar con el código. Lo primero es conectarse con la base de datos
El código puede ser como este:

Código:


DriverManager tiene muchos métodos getConnection() con parámetros variados. Todos son variantes de lo mismo y la información que suministramos es la misma. Aquí hemos utilizado uno con tres parámetros String, que vamos a explicar.

• url: Es una cadena que nos permite localizar la base de datos. Para mysql, el formato es


 Donde se pone el nombre o IP del ordenador en el que se encuentra nuestro servidor de base de datos y el nombre de la base de datos. En nuestro ejemplo, tenemos el servidor de base de datos corriendo en el mismo ordenador que el programa java, por lo que ponemos localhost. La base de datos la he llamado sistema. El comando SQL para crear la base de datos agenda sería

Código:




• user: Un usuario válido para la base de datos. (Por defecto es root)
• password: La clave del usuario.

Si todo va bien, tendremos nuestra conexión a la base de datos. Si va mal, saltará una excepción. Por eso es importante (y obligatorio para que compile) meter todo esto en un try-catch.

A partir de este momento tu aplicación está conectada a la base de datos, así que ya puedes hacer lo que se pide en el proyecto. Supondré que tienen un manejo básico de los comandos de Mysql y les explicare la forma de hacer una inserción, la cual fácilmente podrán duplicar y ajustarla a las necesidades de su programa.
Para enviar comandos SQL a la base de datos, se usa la clase Statement de java. Esta clase se obtiene a partir de la conexión, de esta forma:

Código:



Esto es todo lo que tienen que hacer para insertar registros en su base de datos, ahora lógicamente los valores son variables y estas a su vez se obtienen de un Jtextfield que manipulará el usuario.


El resto de operaciones (Consulta, modificación y eliminación) se hace de la misma forma, en el Statament deben colocar la sentencia SQl con la diferencia de que ahora deben declarar un result set acá les coloco otro ejemplo:

Código:


Ahora el resultado de ese result set solo deben imprimirlo en pantalla mediante un area de texto o una Jtable


Espero que sea de utilidad y si tienen algún problema no duden en consultarme.