Guía para conectar Java con MySQL Prof. Dr. Eric Jeltsch F. Ing. Javier Aguirre A.(en ese entonces, Ayudante Autómatas 2004) [email protected] Indice. ¿Qué Necesitamos? J/Connector 3.0 MySQL La Clase Conexión Instalando lo Necesario Empezando a trabajar Supuestos Una Aplicación Sencilla Estableciendo la Conexión Efectuando Consultas a la Base de Datos Mostrando los datos por consola Efectuando inserción en la base de datos Mostrando los datos en una Tabla Código Completo de la Aplicación ¿Qué Necesitamos?. Necesitamos el paquete Java J/Connector 3.0 que nos permitirá trabajar con MySql. Este es el archivo comprimido. mysql-connector-java-3.0.14-production.tar.gz Descargable del sitio www.mysql.com Tener ejecutándose el servidor de base de datos MySQL. Puedes levantar el servicio manualmente, ejecutando la aplicación. C:\mysql\bin\winmysqladmin.exe La clase de utilidad hace una implementaron sencilla de conexión. Conexion.java Instalando lo Necesario. - Abrimos el fichero mysql-connector-java-3.0.14-production.tar.gz con algún programa descompresor, en este caso WinRar. Donde se encuentra la carpeta comprimida. Figura 1. Contenido del paquete En la figura 1. Nos podemos dar cuenta que se encuentra destacado el fichero JAR. Este fichero llamado mysql-connector-java-3.0.14-production-bin.jar contiene los binarios, clases necesarias y drivers para trabajar con Mysql en Java. Es necesario que este fichero este en la ruta de nuestra variable de entorno CLASSPATH para que Java2 encuentre su ubicación. Una forma de hacerlo, es ubicar este fichero, suponiendo que la capeta de inicio de la distribución de Java se encuentra en C: \jdk1.4.2\, es dentro del directorio JRE (Java Runtime Enviroment). C:\jdk1.4.2\jre\lib\ext\. Figura 2. Directorio en donde se debe ubicar el paquete que contiene los binarios - Levantemos el servicio MySQL, ejecutando el programa de administración Figura 3. Levantando el servicio MYSQL - Por ultimo debemos asegurarnos de ubicar nuestra clase de utilidad Conexión.java el mismo directorio donde crearemos nuestra aplicación para que pueda ser encontrada por la misma. Empezando a trabajar. Supuestos. Vamos a suponer que ya tienes conocimiento sobre - : El Lenguaje SQL y la creación de base de datos, tablas e inserción de datos El servidor MYSQL se debe estar ejecutando en esta u otra maquina de nuestra red local. Se encuentra configurado el servidor con al menos el usuario root sin contraseña. Si quieres, puedes agregar algún otro usuario. La existencia de la base de datos Selva (la cual debes crear en caso de que no exista) con la tabla Animal. La cual tiene la siguiente estructura. CREATE TABLE Animal( id int, tipo char(20), nombre char(20)); Id 1 2 3 Tipo Gato Elefante Perro Nombre Pelusa Falopio Terry Tabla 1. Tabla Animal de la base de dato Selva Una Aplicación sencilla. Ahora se empezará a describir los pasos de nuestra simple aplicación, mediante sentencias Java. Y en la cual crearemos una conexión a la base de datos, mostraremos los datos de la tabla animal y posteriormente haremos una inserción a la misma, enviado consultas en lenguaje SQL. Estableciendo la Conexión. - Primero, debemos crear una instancia de la clase Conexion la cual nos permitirá establecer una conexión a la base de datos. Conexion selvaDB = Conexion(“localhost”,”root”,””,”com.sun.mysql.jdbc.Driver”,”selva”); Donde enviamos los siguientes parámetros al constructor: - - “localhost” : IP o DNS de maquina donde corre el servidor MySQL. También puede ser la IP 127.0.0.1. “root” : login del usuario administrador de la base de datos. ““ : Indica que no se especifico contraseña para el usuario actual. ”com.sun.mysql.jdbc.Driver”: Controlador que Java usa para configurar su conexión a mysql. “Selva”: La base de datos que vamos a seleccionar. Una vez creada la instancia, abrimos la conexión invocando al siguiente método. selvaDB.abrir(); Desde este momento estamos habilitados para trabajar sobre la base de datos selva. Por lo que podremos efectuar consultas sobre ella. Efectuando consultas a la base de datos. - Consultamos por todo el contenido de la tabla Animal, mediante el método consultaSQL(). Vector tabla = selvaDB.consultaSQL(“SELECT * FROM Animal”); Este método recibe como parámetro un String con la consulta SQL y devuelve como resultado un objeto Vector de vectores que simula las columnas de la tabla mediante una matriz. El primer elemento del vector tabla, es decir, tabla.elementAt(0). Es otro vector que contiene los encabezados de la tabla. En este caso es el vector que contiene { “id” , ”tipo” , ”nombre” }. Los demás elementos del vector tabla son vectores que contienen los datos de las columnas de la tabla asociados a cada encabezado respectivamente. Mostrando los datos por la consola. - Mediante el siguiente codigo, mostramos el contenido de la tabla por la consola. for(int fila=0 ; fila < tabla.size() ; fila++) { for(int col = 0 ; col < tabla.elementAt(fila).size() ; col++) { System.out.print(tabla.elementAt(fila).elemenAt(col) + “ ): } System.println(“”); } Efectuando inserción el la base de datos. - A continuación insertaremos un registro mediante el método ejecutarSQL(). SelvaDB.ejecutarSQL( “INSERT INTO Animal VALUES(4,’Caballo’,’Wolf’)” ); De manera que el contenido de nuestra tabla queda modificado como se muestra a continuación Id 1 2 3 4 Tipo Gato Elefante Perro Caballo Nombre Pelusa Falopio Terry Wolf Tabla 2. Tabla Animal de la base de dato Selva después de la inserción