Manejo de Bases de Datos (MySQL) en Java

//Conexión base de datos a Java //-------------------------------------------------Clase de Conexión-------------------------------------------------- //Importamos las librerías necesarias import java.sql.*; import java.util.logging.Logger; import java.util.logging.Level; //Creamos nuestra clase public class ConectorBD { //Creamos una variable de tipo Connection de MySQL Connection con = null; //Inicializamos en null //Creamos el método para conectar la BD a nuestro proyecto de Java public Connection ConectarBD() { try{ Class.forName("com.mysql.jdbc.Driver"); //Obtenemos el Driver de MySQL //con = DriverManager.getConnection("jdbc:mysql://[servidor]/[Base de Datos]","[usuario]", "[password]"); //[servidor] = dirección del servidor que aloja nuestra BD, en mi caso es localhost //[Base de Datos] = es el nombre que le hemos colocado a nuestra base de datos en mi caso es bdejemplo //[usuario] = es el nombre de usuario que le hemos asignado a MySQL al momento de instalarle, por defecto es root //[password] = es la contraseña que le hemos colocado a MySQl, en mi caso es root con = DriverManager.getConnection("jdbc:mysql://localhost/bdejemplo","root", "root"); } catch(Exception e){ System.out.println(e.getMessage()); } catch(SQLException ex) { //Logger.getLogger([Nombre de la clase].class.getName()).log(Level.SEVERE, null, ex); Logger.getLogger(ConectorBD.class.getName()).log(Level.SEVERE, null, ex); } return con; } } //-----------------Insertar, Modificar, Consultar, Mostrar y Eliminar elementos de la Base de Datos---------------------- //importamos las librerías necesarias import java.sql.*; import javax.swing.*; import java.util.*; public class ProgramaEjemplo extends JFrame() { ConectorBD cc = new ConectorBD(); //Instancia de la clase de conexión Connection cn = cc.ConectarBD(); //Conecta a la Base de datos //Creamos los métodos necesarios //Método para enviar datos a la BD public void GuardarBD() { try{ //PreparedStatement pstat = cn.prepareStatement("INSERT INTO [tabla]([Columnas)]) VALUES (?,?,?,?)"); //[tabla] = es el nombre de la tabla que hemos creado en nuestra bd en mi caso se llama tablap //[Columnas] = son las columnas que tenemos en la tabla en mi caso es (id, nom, ap, tel) PreparedStatement pstat = cn.prepareStatement("INSERT INTO tablap(id, nom, ap, tel) VALUES (?,?,?,?)"); //pstat.setString([ID columna de la tabla], [campo de texto o valor que enviaremos a la tabla]) // el [ID columna de la tabla] siempre inicializa desde 1 pstat.setString(1, txtID.getText()); pstat.setString(2, txtNombre.getText()); pstat.setString(3, txtApellido.getText()); pstat.setString(4, txtTelefono.getText()); //Se ejecuta el query de envío de datos pstat.executeUpdate(); }catch(Exception e){ System.out.println(e.getMessage()); } } //Método para Mostrar todos los datos en un JTable public void MostrarBD() { DefaultTableModel mod1 = new DefaultTableModel(); //Creamos una variable de tipo DefaultTableModel para colocar las columnas y las filas que queremos al JTable //mod1.addColumn("") = agrega una columna y le coloca un título mod1.addColumn("ID"); mod1.addColumn("Nombre"); mod1.addColumn("Apellidos"); mod1.addColumn("Teléfono"); jTable1.setModel(mod1); // le colocamos el modelo a la tabla try{ //Creamos una variable de tipo Statement y creamos el statment en la variable de conexión Statement stat = cn.createStatement(); //Creamos una variable de tipo ResultSet y ejecutamos el query ResultSet rs = stat.executeQuery("SELECT * FROM tablap"); String []datos = new String[4]; //Creamos un arreglo para alojar los datos y mostrarlos en el JTable //le decimos al programa que mientras la variable rs continue leyendo datos ejecute lo siguiente while(rs.next()){ datos[0] = rs.getString(1); //Aloja el string de la columna 1 de la base de datos en la posición o del array datos[1] = rs.getString(2); //Aloja el string de la columna 2 de la base de datos en la posición 1 del array datos[2] = rs.getString(3); //Aloja el string de la columna 3 de la base de datos en la posición 2 del array datos[3] = rs.getString(4); //Aloja el string de la columna 4 de la base de datos en la posición 3 del array mod1.addRow(datos); //Agrega los datos en fila en la JTable } jTable1.setModel(mod1); //Agrega el modelo (Actualiza los datos) en la JTable } catch(Exception e){ System.out.println(e.getMessage()); } } //Método para hacer una consulta public void ConsultaBD(dat){ //este método recibe un parametro dat = txtConsultarID; para hacer la búsqueda por ID DefaultTableModel mod2 = new DefaultTableModel(); //Creamos una variable de tipo DefaultTableModel para colocar las columnas y las filas que queremos al JTable //mod1.addColumn("") = agrega una columna y le coloca un título mod2.addColumn("ID"); mod2.addColumn("Nombre"); mod2.addColumn("Apellidos"); mod2.addColumn("Teléfono"); jTable1.setModel(mod2); // le colocamos el modelo a la tabla try{ //Creamos una variable de tipo Statement y creamos el statment en la variable de conexión Statement stat1 = cn.createStatement(); //Creamos una variable de tipo ResultSet y ejecutamos el query //Query = SELECT * FROM [Nombre de la tabla] WHERE [Nombre del campo a comparar] = '[parametro que recibimos]' ResultSet rs1 = stat1.executeQuery("SELECT * FROM tablap WHERE id ='" + dat + "'"); String []data = new String[4]; //Creamos un arreglo para alojar los datos y mostrarlos en el JTable //le decimos al programa que mientras la variable rs continue leyendo datos ejecute lo siguiente while(rs1.next()){ data[0] = rs1.getString(1); //Aloja el string de la columna 1 de la base de datos en la posición o del array data[1] = rs1.getString(2); //Aloja el string de la columna 2 de la base de datos en la posición 1 del array data[2] = rs1.getString(3); //Aloja el string de la columna 3 de la base de datos en la posición 2 del array data[3] = rs1.getString(4); //Aloja el string de la columna 4 de la base de datos en la posición 3 del array mod2.addRow(data); //Agrega los datos en fila en la JTable } jTable1.setModel(mod2); //Agrega el modelo (Actualiza los datos) en la JTable } catch(Exception e){ System.out.println(e.getMessage()); } //Método para modificar los datos public void ModificadBD() { //adquirimos los datos seleccionando una fila del JTable int fila = jTable1.getSelectedRow(); //Obtenemos el id de la fila seleccionada if(fila >= 0) // si sí está seleccionada una fila { txtID.setText(jTable1.getValueAt(fila, 0).toString()); //Enviamos los datos del JTable al JTextField txtNombre.setText(jTable1.getValueAt(fila, 1).toString()); //Enviamos los datos del JTable al JTextField txtApellido.setText(jTable1.getValueAt(fila, 2).toString()); //Enviamos los datos del JTable al JTextField txtTelefono.setText(jTable1.getValueAt(fila, 3).toString()); //Enviamos los datos del JTable al JTextField } else // de lo contrario (si no ha seleccionado ninguna fila) { JOptionPane.showMessageDialog(null, "No ha seleccionado ningun dato a modificar"); } try{ //PreparedStatement pstatm = cn.prepareStatement("UPDATE [Nombre de la tabla] SET [Campos a modificar]='" + JTextField.getText() +"' WHERE [Campo a comparar]='"+ JTextField.getText() +"'"); PreparedStatement pstatm = cn.prepareStatement("UPDATE tablap SET nom='"+ txtNombre.getText() + "', ap='" + txtApellido.getText() + "', tel='" + txtTelefono.getText() + "' WHERE id='"+ txtID.getText() +"'"); pstatm.executeUpdate(); } catch(Exception e){ System.out.println(e.getMessage()); } } //Método para eliminar Campos public void EliminarDatosBD() { //adquirimos los datos seleccionando una fila del JTable int fila = jTable1.getSelectedRow(); //Obtenemos el id de la fila seleccionada if(fila >= 0) // si sí está seleccionada una fila { txtID.setText(jTable1.getValueAt(fila, 0).toString()); //Enviamos los datos del JTable al JTextField txtNombre.setText(jTable1.getValueAt(fila, 1).toString()); //Enviamos los datos del JTable al JTextField txtApellido.setText(jTable1.getValueAt(fila, 2).toString()); //Enviamos los datos del JTable al JTextField txtTelefono.setText(jTable1.getValueAt(fila, 3).toString()); //Enviamos los datos del JTable al JTextField } else // de lo contrario (si no ha seleccionado ninguna fila) { JOptionPane.showMessageDialog(null, "No ha seleccionado ningun dato a modificar"); } try{ // PreparedStatement pstatm = cn.prepareStatement("DELETE FROM [Nombre de la tabla] WHERE [Campo a comparar]='"+ JTextField.getText() +"'"); PreparedStatement pstatm = cn.prepareStatement("DELETE FROM tablap WHERE id='"+ txtID.getText() +"'"); pstatm.executeUpdate(); } catch(Exception e){ System.out.println(e.getMessage()); } } }
Métodos para Insertar, Mostrar, Consultar, Modificar y Eliminar campos o datos de una base de datos en MySQL con Java (no importando en qué IDEs trabajes <ej. NetBeans, IntelliJ, etc.> el lenguaje es el mismo por lo tanto el código es el mismo...).

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.