Creación de proyectos usando Java/MySQL 1 Configuración de la Base de Datos 1.1 Instalación de la base de datos MySQL (Linux-Ubuntu) Para instalar la base de datos MySQL en ambiente Linux (Ubuntu) siga los siquientes pasos: 1. Abra una terminal y ejecute sudo apt-get install mysql-server mysql-client 2. Cuando la instalación se lo solicite, ingrese la contraseña de root para la base de datos. Listo. El servidor de base de datos MySQL se ha instalado en su sistema. 1.2 Instalación de la base de datos MySQL (Windows) Para instalar la base de datos MySQL en ambiente Windows siga los siquientes pasos: 1. Ingrese a http://dev.mysql.com/downloads/ y descargue MySQL Community Server para su versión de windows (no se recomienda usar el instalador web). 2. Ejecute el instalador para comenzar la instalación Página 1 de 6
3. Acepte el acuerdo de licencia 4. Active actualizaciones 5. Seleccione Developer Default como tipo de instalación Nota: En caso de que falten prerrequisitos para la instalación de desarrollador, seleccione una instalación personalizada y seleccione como componetes MySQL Server, Documentación y el adaptador para conexiones Java ConnectorJ Página 2 de 6
6. Proceda con la instalación de los productos necesarios 7. Configure el servidor de MySQL (a) En la primer pantalla de configuración, deje activadas las opciones predeterminadas. (b) En la segunda pantalla de configuración, escoja una contraseña para el servidor MySQL (por ejemplo pumas). No es necesario crear ningún usuario. (c) En la última pantalla de configuración, asigne un nombre para el servidor MySQL (por ejemplo SySQLServer). Página 3 de 6
Nota: En máquinas con escasos recursos de cómputo, se aconseja desactivar la casilla Iniciar Servidor MySQL cuando Windows inicie para ahorrar recursos. Tendrá que iniciar el servicio manualmente para conectarse a la base de datos. Listo. El servidor de base de datos MySQL se ha instalado en su sistema. 1.3 Creación de la Base de Datos Para instalar la base de datos CoolSchool en el servidor de base de datos MySQL siga los siquientes pasos: 1. Abra el intérprete de comandos de MySQL e ingrese el password de root (la contraseña que escribió durante la instalación). En Windows, ejecute textitmysql X.X Command Line Client donde X.X es la versión de MySQL instalada. En Linux abra una terminal y ejecute mysql -u root -p 2. Para crear la base de datos CoolSchool, ejecute los siguientes comandos: CREATE DATABASE CoolSchoolDB; USE CoolSchoolDB; Nota: Para eliminar la base de datos use el comando DROP DATABASE CoolSchoolDB; 3. El siguiente paso consiste en crear un usuario para la base de datos CoolSchoolDB y asignarle todos los permisos sobre la base de datos creada. CREATE USER CoolSchoolAdmin IDENTIFIED BY Pum4s ; GRANT USAGE ON *.* to CoolSchoolAdmin@localhost identified by Pum4s ; GRANT ALL PRIVILEGES ON CoolSchoolDB.* TO CoolSchoolAdmin@localhost; Nota: Para eliminar al usuario CoolSchoolAdmin use el comando DROP USER CoolSchoolAdmin; 4. Una vez creada la base de datos y un usuario para la misma, proceda a crear las tablas Gente, Empleados y Alumnos. CREATE TABLE Gente ( GntId INT UNSIGNED NOT NULL AUTO_INCREMENT, GntNombre VARCHAR(250) NOT NULL, GntApPaterno VARCHAR(250) NOT NULL, GntApMaterno VARCHAR(250), GntCURP CHAR(18) UNIQUE, GntFechaNac DATE NOT NULL, GntDomicilio TEXT, PRIMARY KEY(GntId) ); Página 4 de 6
CREATE TABLE Empleados ( GntId INT UNSIGNED NOT NULL REFERENCES Gente(GntId), EmpRFC CHAR(8) NOT NULL UNIQUE, EmpDomFiscal TEXT NOT NULL, EmpEmail VARCHAR(255), EmpTelMovil VARCHAR(13), PRIMARY KEY(EmpRFC) ); CREATE TABLE Alumnos ( NoCta CHAR(8) NOT NULL, GntId INT UNSIGNED NOT NULL REFERENCES Gente(GntId), GntTutor INT UNSIGNED REFERENCES Gente(GntId), PRIMARY KEY(NoCta) ); 5. A cotninuación, agregue registros a la base de datos. SET AUTOCOMMIT=0; START TRANSACTION; INSERT INTO Gente (GntNombre, GntApPaterno, GntApMaterno, GntCURP, GntFechaNac, GntDomicilio) VALUES ( James Tiberuis, Kirk, NULL, NULL, 2233-03-22, U.S.S. Enterprise ); SET @ParentId = LAST_INSERT_ID(); INSERT INTO Gente (GntNombre, GntApPaterno, GntApMaterno, GntCURP, GntFechaNac, GntDomicilio) VALUES ( David, Marcus, NULL, NULL, 2261-01-01, Regula I planetoid ); SET @StudentId = LAST_INSERT_ID(); INSERT INTO Alumnos (NoCta, GntId, GntTutor) VALUES ( GENESIS2, @StudentId, @ParentId); COMMIT; SET AUTOCOMMIT=1; 6. Por último, verifique la información con la siguiente consulta: SELECT FROM NoCta, GntNombre, GntApPaterno Gente JOIN Alumnos USING (GntId); 2 Programa en Java 2.1 Prueba de conexión a la base de datos Para conectarse a la base de datos se require realizar los siguientes pasos: Descargar el conector para MySQL de http://dev.mysql.com/downloads/connector/j/5.0.html Establecer una conexión con la base de datos, proveyendo el usuario y contraseña de la misma. Crear un objeto de consulta. Realizar y ejecutar la consulta. Leer los resultados de la consulta. Página 5 de 6
El programa mostrado a continuación realiza una conexión y consulta de prueba a la base de datos de MySQL. 1 package javaapplication1; 2 3 import java.sql.*; 4 5 public class Main { 6 7 public static void main(string[] args){ 8 try{ 9 // Stablish connection 10 Connection conexion = DriverManager.getConnection ("jdbc:mysql://localhost /CoolSchoolDB","CoolSchoolAdmin", "Pum4s"); 11 // Create query object 12 Statement s = conexion.createstatement(); 13 // Execute query 14 ResultSet rs = s.executequery ("SELECT NoCta, GntNombre, GntApPaterno FROM Gente JOIN Alumnos USING (GntId);"); 15 // Read all records 16 while (rs.next()) 17 System.out.println(rs.getString(1) + " " + rs.getstring(2)+ " " + rs.getstring(3)); 18 // Close connection 19 conexion.close(); 20 } 21 catch(exception ex){ex.printstacktrace();} 22 } 23 } Nota: Para ejecutar el programa anterior se necesita agregar la referencia del conector MySQL al CLASSPATH de Java. Si utiliza NetBeans, el conector ya viene incluido pero necesitará agregarlo al proyecto. Página 6 de 6