//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.