Pregunta: | 50488 - ENLAZAR JAVA CON MYSQL |
Autor: | Andres cortes |
hola
Quisiera saber como enlazar un formulario hecho en java applet con una base de datos creada en mysql, que cuando yo haga click en el boton guardar que cree en mi formulario automaticamente me guarde en la tabla que cree ya previamente en mysql si alguen tiene un ejemplo le agradezco mucho |
Respuesta: | Mario Guerrero |
Hola Andres
Java no puede comunicarse por si solo con MySql, por lo cual tienes que bajar el conector para java y mysql, de este link lo bajas: http://dev.mysql.com/downloads/connector/j/5.0.html lo descomprimes en donde quieras (de preferencia en la misma carpeta donde tienes java) y te va a quedar un archivo con extension .jar que es el que necesitas para hacer la conexión. Este archivo tiene que estar en el classpath, si no esta, agregas la ruta completa de donde se encuentra incluyendo al archivo, por ejemplo: C:\>SET CLASSPATH=%CLASSPATH%;c:\j2sdk...\carpeta_x\mysql-connector-java-5.0.4-bin.jar; Por el lado de mysql, te logeas como root y debes dar el privilegio para el acceso a tu base de datos con el siguiente query: GRANT ALL ON nombre_de_tu_bd.* TO nombre_usuario@localhost IDENTIFIED by 'tu_password'; si el query te marca error pon en comitas nombre_usuario y localhost: GRANT ALL ON nombre_de_tu_bd.* TO 'nombre_usuario'@'localhost' IDENTIFIED by 'tu_password'; Este usuario debe haber sido previamente creado, puedes hacer pruebas con tu usuario root, pero esto no es recomendable por seguridad. En el lado de java, en tu applet, debes agregar la libreria: import java.sql.*; A tu codigo le vas a agregar lo siguiente, suponiendo que tu formulario lee el nombre del usuario y su numero de cuenta(entero): ----------codigo------------- // tus otras librerias van aqui import java.sql.*; public class TuApplet extends JApplet implements ActionEvent{ static String bd = "nombre_de_tu_bd"; static String login = "nombre_de_tu_usuario"; static String password = "tu_password"; static String url = "jdbc:mysql://localhost/"+bd; // por aqui van tus variables globales // por aqui construyes tu formulario (init, etc...) public void actionPerformed(ActionEvent e){ if( (e.getSource() == boton){ // el evento que lee el boton que dices String nom = textField1.getText(); String cuentaString = textField2.getText(); // por aqui validas que no esten vacios los campos, etc int cuentaInt = Integer.parseInt(cuentaString); // este es el codigo que hace la conexion Connection conn = null; try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(url,login,password); if (conn != null){ // aqui va a entrar si se realizó con exito la conexion Statement stmt = conn.createStatement(); // a apartir de aqui van los queryes que necesites int res = stmt.executeUpdate("INSERT INTO tu_tabla VALUES( '"+nom+"', "+cuentaInt+" ) "); stmt.close(); conn.close(); } } catch(SQLException ex){ System.out.println(ex); } catch(ClassNotFoundException ex){ System.out.println(ex); } } // fin de tu evento boton } } // fin de tu clase ------ fin de codigo----- Los queryes son iguales que en Mysql, solo que para usar variables de java con los queryes lo tienes que concatenar como strings, si es un string lo que le vas a pasar para guardar en un campo de tu tabla que es tipo varchar: ' " + varString+ " ' Si le vas a pasar una variable que no sea string y que sea para un campo entero por ejemplo: " + varEntera + " El ejemplo es para conectarte a tu base de datos local. Espero te sea util. Saludos. |