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