JAVA Conexion a MYSQL (SELECT)

En este articulo veremos como realizar una conexión sencilla a una base de datos MYSQL desde nuestra aplicación JAVA, con el fin de ir adquiriendo destreza en el manejo de bases de datos ya que es este un tema de mucha importancia en el desarrollo de aplicaciones tanto Web como Desktop, para el ejemplo cargaremos la información contenida en una tabla MYSQL en un JTable diseñado en Netbeans IDE, libreando una acción mediante un JButton para cargar la Información veamos:

Codigo utilizado en el tutorial:

Clase Conexión:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package conexionbd;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
/**
*
* @author ivn
*/

public class BD {
public Connection conexion;
public Statement sentencia;
public ResultSet resultado;

public void ConectarBD(){
try {
final String Controlador = "com.mysql.jdbc.Driver";
Class.forName( Controlador );
final String url_bd = "jdbc:mysql://localhost:3306/personas";
conexion = DriverManager.getConnection(url_bd,"root","root");
sentencia = conexion.createStatement();
} catch (ClassNotFoundException | SQLException ex) {
JOptionPane.showMessageDialog(null,ex.getMessage(), "Error ", JOptionPane.ERROR_MESSAGE);
}
}

public void DesconectarBD() {
try {
if (conexion != null ) {
if(sentencia != null) {
sentencia.close();
}
conexion.close();
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null,ex.getMessage(), "Error ", JOptionPane.ERROR_MESSAGE);
System.exit(1);
}
}
public Connection getConnection(){
return conexion;
}
}

Código del modelo JTable:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public static DefaultTableModel Modelo_Tabla;
private void Modelo(){
try {
Modelo_Tabla = (new DefaultTableModel(
null, new String [] {"id","TD","Documento","Nombres","Apellidos","F. Nac","Genero","Cargo"}){
Class[] types = new Class [] {
java.lang.String.class,
java.lang.String.class,
java.lang.String.class,
java.lang.String.class,
java.lang.String.class,
java.lang.String.class,
java.lang.String.class,
java.lang.String.class
};
boolean[] canEdit = new boolean [] {
false,false,false,false,false,false,false,false
};
@Override
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
@Override
public boolean isCellEditable(int rowIndex, int colIndex){
return canEdit [colIndex];
}
});
tabla1.setModel(Modelo_Tabla);
tabla1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
tabla1.getTableHeader().setReorderingAllowed(false) ;
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e.toString()+" error");
}
}

Método de consulta y carga de datos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private void Obtener_Datos(){
try {
int i=0;
Object row[]=null;
BD BD = new BD();
BD.ConectarBD();
BD.resultado = BD.sentencia.executeQuery("SELECT * FROM informacion");
if(BD.resultado != null){
while(BD.resultado.next()){
Modelo_Tabla.addRow(row);
Modelo_Tabla.setValueAt(BD.resultado.getString("id"), i, 0);
Modelo_Tabla.setValueAt(BD.resultado.getString("td"), i, 1);
Modelo_Tabla.setValueAt(BD.resultado.getString("documento"), i, 2);
Modelo_Tabla.setValueAt(BD.resultado.getString("nombres"), i, 3);
Modelo_Tabla.setValueAt(BD.resultado.getString("apellidos"), i, 4);
Modelo_Tabla.setValueAt(BD.resultado.getString("fecha_nac"), i, 5);
Modelo_Tabla.setValueAt(BD.resultado.getString("genero"), i, 6);
Modelo_Tabla.setValueAt(BD.resultado.getString("cargo"), i, 7);
i++;
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}

Puedes acceder a la descarga de la librería Mysql Connector Aqui