You are on page 1of 11

Para este tutorial utilizamos:

JDK 1.7.0 de Java Netbean 7.0.1 MySQL Server 5.5 Workbench 5.2 Microsoft Windows 7 Home Premium 64 bits. mysql-connector-java-5.1.18

Para ste tutorial, ya suponemos que ha descargado, instalado y probado todas las herramientas, descritas anteriormente, excepto el conector de java para mysql. Descargamos la versin zip del conector, desde la pgina oficial de ORACLE, www.oracle.com, de la seccin de descargas de mysql. Una vez descargado extraemos los archivos y copiamos el archivo mysql-connector-java-5.1.18.jar a la ruta <PATH_DE_JAVA>/jre/lib/ext. En este caso sera C:\Program Files (x86)\Java\jdk1.7.0\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, tambin debemos tener la precaucin de ir retirando jars de versiones antiguas cuando pongamos las nuevas, o tendremos problemas. Seguido, agregamos la variable de entorno CLASSPATH. En este caso sera: [Windows] -> botn derecho en la opcin de equipo -> propiedades -> Configuracin avanzada del sistema

El la pestaa de Opciones avanzadas elegimos Variables de entorno

Dentro de las variables de entorno, en la seccin de Variables de Usuario, revisamos si existe la variable CLASSPATH, en ese caso, la seleccionamos y oprimimos EDITAR, y agregamos al final de la lnea el siguiente cdigo sin los corchetes: [;C:\Program Files (x86)\Java\jdk1.7.0\jre\lib\ext \mysql-connector-java-5.1.18.jar;] De lo contrario, seleccionamos Nueva

En Nombre de la variable ponemos: CLASSPATH y en Valor de la variable ponemos: C:\Program Files (x86)\Java\jdk1.7.0\jre\lib\ext \mysql-connector-java-5.1.18.jar;

Tambin podemos hacerlo directo desde la consola con el siguiente comando: C:\> set CLASSPATH= C:\Program Files (x86)\Java\jdk1.7.0\jre\lib\ext \mysqlconnector-java-5.1.18.jar *NOTA: Debes tener el conector dentro de la carpeta anterior antes de ejecutar el NetBeans, en caso de que est abierto cirralo y vulvelo a abrir. Ya que lo hayas copiado ahora s abre el NetBeans y espera a que cargue. Listo! con eso tenemos configurado todo para probar. Para el ejemplo tenemos una tabla llamada alumnos dentro de una base de datos llamada smpruebas con los campos idAlumno, nombre, apepat y apemat.

Ahora, vamos a crear la tabla en workbench, por lo que iniciamos esta aplicacin e introducimos la siguiente tabla:

Y generamos la Base de datos smpruebas desde el mismo workbench, realizando lo siguiente: Database > [forward engeneer], y seguimos los pasos, hasta generar la Base de datos con la tabla realizada. Hasta este momento, ya tenemos creada la Base de datos, y procederemos a crear nuestro programa en NetBean, por lo que iniciamos sta aplicacin. Y antes que hagamos nuestro programa, necesitamos configurar NetBeans con el conector de MySQL: Configurar NetBeans: Una vez que hayas abierto el NetBeans localiza la seccin de Runtime o Tiempo de ejecucin que se localiza en el lado izquierdo de la pantalla, como se muestra a continuacin:

Al expandir la seccin de Databases o Bases de datos debe de aparecer el MySQL (Connector/J driver),

En caso contrario debes de agregarlo manualmente como se describe a continuacin: 1. Da un clic derecho sobre Drivers y selecciona New Driver.

2. En la ventana que aparece da clic en el botn de Add o Agregar y busca el archivo .jar que descargaste anteriormente, el mismo que copiaste dentro de la carpeta del JDK. 3. Una vez hecho lo anterior da clic en el botn de Ok o Aceptar. Cuando realices los pasos anteriores debe de aparecer un elemento nuevo en la seccin de Drivers dentro de Databases de nombre MySQL (Connector/J driver).

Crear y probar una conexin: Dentro de la seccin de Runtime o Tiempo de ejecucin > Databases o Bases de datos > Drivers da un clic derecho sobre MySQL (Connector/J driver) y selecciona Connect Using o Conectar usando... para que aparezca la pantalla de configuracin de la conexin como se muestra a continuacin:

En la seccin de Name o Nombre selecciona MySQL (Connector/J driver), en la seccin Database URL cambia la parte indicada por la direccin del servidor de bases de datos, si es la misma computadora escribe localhost, en la parte de establece el puerto que definiste al instalar el servidor MySQL , por defecto es el 3306, en la seccin de escribe el nombre de la base de datos a la cual te quieres conectar. Un ejemplo completo sera jdbc:mysql://localhost:3306/base_de_datos. Posteriormente escribe el nombre de usuario para accesar a la base de datos y la contrasea respectivamente. Da un clic en el checkbox inferior para que NetBeans recuerde la contrasea durante la conexin. Si todo se realiz correctamente podrs ver un nuevo elemento debajo del Driver con las especificaciones de la conexin actual, si das un clic en el smbolo '+' que aparece de lado izquierdo del mismo podrs ver las tablas de la base de datos y realizar consultas hacia la misma.

Implementar el cdigo: Hasta aqu ya hemos establecido la conexin a la base de datos y probado su funcionamiento desde el NetBeans, sin embargo, nos hace falta implementar el cdigo directamente en una aplicacin. Para este ejemplo crearemos una clase de nombre Conexion que se podr reutilizar las veces que sea necesario en cualquier tipo de aplicacin Java que requiera conectarse y realizar consultas a una base de datos en MySQL. Empecemos por el principio... 1. Da un clic en el men de File o Archivo que se localiza en la esquina superior izquierda de la ventana de NetBeans. 2. Selecciona la opcin de Nuevo Proyecto o New Project, posteriormente en la seccin de Categories o Categoras selecciona General y en Projects o Proyectos selecciona Java Application o Aplicacin Java y da un clic en Siguiente.

*NOTA: La clase que crearemos funciona con cualquier tipo de proyecto, para fines de este ejemplo utilizamos una aplicacin java convencional. 3. Posteriormente damos un nombre a la aplicacin y definimos su ubicacin, una vez hecho esto damos clic en el botn de Finish o Finalizar. 4. En este momento aparece del lado izquierdo en la pestaa de Projects o Proyectos una especie de rbol jerrquico en el cual tenemos 4 carpetas, al dar clic en el smbolo '+' de la carpeta Source Packages o Paquetes Fuente nos desplegar el nico paquete con el cual cuenta nuestra aplicacin hasta este punto, dentro de l se crea la clase Main. 5. Ahora debemos de dar un clic derecho sobre Source Packages o Paquetes Fuente y dar un nombre al paquete, en mi caso es pruebaDBase. Este paquete contendr la clase desde la cual estaremos realizando todas las consultas a la base de datos. 6. Posteriormente damos un clic derecho sobre el paquete recin creado y seleccionamos Nueva o New > Java Class. Posteriormente le damos el nombre de Conexion y damos clic en el botn de Finalizar o Finish. 7. Dentro de la clase Conexion importamos algunas libreras con el siguiente cdigo:
import import import import import java.sql.Connection; java.sql.DriverManager; java.sql.ResultSet; java.sql.SQLException; java.sql.Statement;

8. Una vez que tenemos las libreras creamos los mtodos a utilizar descritos a continuacin:
/** * Mtodo utilizado para recuperar el valor del atributo conexion *@return conexion contiene el estado de la conexin * */ Connection conexion; public Connection getConexion() { return conexion; } /** * Mtodo utilizado para establecer la conexin con la base de datos *@return estado regresa el estado de la conexin, true si se estableci la conexin, * falso en caso contrario */ public boolean crearConexion() { try { Class.forName("com.mysql.jdbc.Driver"); conexion = DriverManager.getConnection ("jdbc:mysql://host:puerto/baseDatos","usuario","contrasea"); } catch (SQLException ex) { ex.printStackTrace(); return false; } catch (ClassNotFoundException ex) { ex.printStackTrace(); return false; } return true; }

/** * *Mtodo utilizado para realizar las instrucciones: INSERT, DELETE y UPDATE *@param sql Cadena que contiene la instruccin SQL a ejecutar *@return estado regresa el estado de la ejecucin, true(xito) o false(error) * */ public boolean ejecutarSQL(String sql) { try { Statement sentencia = conexion.createStatement(); sentencia.executeUpdate(sql); } catch (SQLException ex) { ex.printStackTrace(); return false; } return true;

/** * *Mtodo utilizado para realizar la instruccin SELECT *@param sql Cadena que contiene la instruccin SQL a ejecutar *@return resultado regresa los registros generados por la consulta * */ public ResultSet ejecutarSQLSelect(String sql) { ResultSet resultado; try { Statement sentencia = conexion.createStatement(); resultado = sentencia.executeQuery(sql); } catch (SQLException ex) { ex.printStackTrace(); return null; } return resultado; }

9. Finalmente compilamos el archivo localizndolo en el rbol jerrquico del lado izquierdo dando un
clic derecho sobre l y seleccionando la opcin de Compilar o Compile. Podrs utilizar la clase en cualquier parte de tu proyecto creando una instancia de la misma en el momento que sea necesario. *TIP: Crea nicamente una vez la conexin con el mtodo crearConexion() desde la clase Main y pasa tu conexin como parmetro a todas las ventanas y mdulos de la aplicacin que la utilicen.

Una vez realizado lo anterior estars listo para conectarte a bases de datos en MySQL desde NetBeans

Hacemos la interfaz de captura de alumnos en NETBEAN Para lo cual, creamos un formulario de Dialogo, posicionndonos desde el paquete en el que estamos trabajando

Despus del paquete, y antes de que inicie la clase, agregamos el siguiente cdigo. import java.sql.*; import javax.swing.JOptionPane; Creamos el atributo siguiente: conexion con=new conexion(); Seleccionamos el fondo del formulario de dialogo y en las propiedades, seleccionamos la pestaa de eventos Seleccionamos el evento COMPONENT SHOWN Y activamos el mtodo FORMCOMPONENTSHOWN Damos doble click e insertamos el siguiente cdigo: if (con.crearConexion()!= true) System.out.printf("ERROR DE CONEXION"); else System.out.println("CONEXION EXITOSA"); en el botn INSERTAR, introducimos el siguiente cdigo:
String sqlString= "INSERT INTO smpruebas.alumnos (idAlumno, nombre, apepat, apemat ) VALUES ('" + txtIdNombre.getText()+"','"+ txtNombre.getText()+ "', '"+ txtApPaterno.getText()+ "', '"+ txtApMaterno.getText()+"')"; System.out.println(con.conexion.toString()); System.out.println(sqlString); if (con.ejecutarSQL(sqlString) !=true) //System.out.println("REGISTRO NO GRABADO");

JOptionPane.showMessageDialog(this, "ERROR. NO SE GRAB EL REGISTRO... VERIFIQUE. ", "ERROR...", WIDTH); else { //System.out.println("REGISTRO GRABADO EXITOSAMENTE...."); JOptionPane.showMessageDialog(this, "REGISTRO GRABADO EXITOSAMENTE", "MENSAJE....", WIDTH); } En el botn cancelar, insertamos lo siguiente: dispose();