1. Debemos descargar el conector MySQL para Java, que lo podemos obtener desde la página oficial:
http://www.mysql.com/downloads/connector/j/2. Añadimos el fichero .jar descargado y lo adjuntamos a nuestro proyecto: Ejemplo para NetBeans.
Botón derecho sobre la carpeta Libraries y añadir archivo .jar
Desde este momento ya tenemos el conector agregado a nuestra aplicación.
3. Instanciamos y utilizamos la librería. Para este caso, hemos creado una clase conexión con métodos que reciben una consulta y nos devuelvan el resultado según sea, en nuestro caso, tipo Integer o DefaultTableModel .
Con esta función haremos una consulta SQL y guardaremos el resultado en un DefaultTableModel que será el objeto que nos devolverá esta función.
public DefaultTableModel HacerConsulta(String sql,String[] columnas) { . . . }
Con este método ejecutaremos aquellas consultas que sean Insert, Delete y Update. Devuelve un entero que representa se hay error.
public int EjecutarConsulta(String sql) { . . . }
Esta función la utilizaremos para consultar un valor escalar. Por ejemplo una sentencia SQL del tipo: “SELECT Count(*) FROM almacen”.
public int ConsultarEscalar(String sql) { . . . }
Puedes obtener el fichero original más abajo, el siguiente fragmento contiene nuestra clase de conexión lista para copiar y pegar.
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.DefaultTableModel;
public class ConexionMySQL {
private String ruta;
private String usuario;
private String clave;
private Connection conexion;
private Statement statement;
private ResultSet resultSet;
private DefaultTableModel modelo;
public ConexionMySQL(String ruta,String usuario, String clave){
this.ruta = "jdbc:mysql://" + ruta;
this.usuario = usuario;
this.clave = clave;
statement = null;
resultSet = null;
modelo = null;
try {
// Se registra el Driver de MySQL
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
} catch (SQLException ex) {
Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void Conectar()
{
try {
conexion = (Connection) DriverManager.getConnection(ruta, usuario, clave);
statement = (Statement) conexion.createStatement();
} catch (SQLException ex) {
Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void Desconectar()
{
try {
statement.close();
conexion.close();
} catch (SQLException ex) {
Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
}
}
public DefaultTableModel HacerConsulta(String sql,String[] columnas)
{
try {
modelo = new DefaultTableModel();
for(int i=0; i<columnas.length; i++)
{
modelo.addColumn(columnas[i]);
}
Conectar();
resultSet = statement.executeQuery(sql);
Object[] datos = null;
while (resultSet.next()) {
datos = new Object[modelo.getColumnCount()];
for (int i = 0; i < modelo.getColumnCount(); i++) {
datos[i] = resultSet.getObject(i + 1);
}
modelo.addRow(datos);
}
resultSet.close();
Desconectar();
} catch (SQLException ex) {
Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
}
return modelo;
}
public int EjecutarConsulta(String sql)
{
int error = 0;
try {
Conectar();
error = statement.executeUpdate(sql);
Desconectar();
} catch (SQLException ex) {
Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
}
return error;
}
public int ConsultarEscalar(String sql)
{
int valor = -1;
try {
Conectar();
statement = (Statement) conexion.createStatement();
resultSet = statement.executeQuery(sql);
if (resultSet.first()) {
valor = resultSet.getInt(1);
}
resultSet.close();
Desconectar();
} catch (SQLException ex) {
Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
}
return valor;
}
}
No hay comentarios:
Publicar un comentario