Acceso a base de datos MySQL con JDBC (Java)

Para poder utilizar la base de datos MySQL desde una aplicación Java necesitamos descargar el conector para Java que ofrece MySQL en su sitio web
http://dev.mysql.com/downloads/connector/j/

Allí seleccionad la versión adecuada para vuestro servidor de base de datos.

Pongo una clase de ejemplo muy sencillo para ver cómo se realiza una consulta SQL común.

import java.sql.*;

public class conexionMySql{
  static String dbName = "databaseName";
  static String dbUser = "user";
  static String dbPass = "pass";
  static String dbUrl = "jdbc:mysql://localhost/" + dbName;

  public static void main(String[] args) {
    Connection connection = null;
      try{
        Class.forName("com.mysql.jdbc.Driver").newInstance();
          connection =
            DriverManager.getConnection(dbUrl, dbUser, dbPass);
          if (connection != null)	{
          Statement stmt = connection.createStatement();
          ResultSet result  =
            stmt.executeQuery("SELECT * FROM empleados");
          while(res.next()) {
            String id  = result.getString("id");
            String nombre  = result.getString("nombre");
            float salario = result.getFloat("salario");
            System.out.println(id +" t "+name+" t "+salario);
          }
          result.close();
          stmt.close();
          connection.close();
        }
      }
      catch(SQLException ex) {
      System.out.println("Error connecting: "+ex);
    }
    catch(ClassNotFoundException ex) {
      System.out.println("Connector not found: "+ex);
    }
  }
}

Sentencias precompiladas:
Cuando queremos ejecutar una misma sentencia muchas veces pero con diferentes valores se pierde eficiencia si tenemos que compilar dicha sentencia y mandarla a la base de datos. Para ello, se utilizan las sentencias preparadas conocidas como preparedStatement. Son sentencias precompiladas en las que se puede cambiar los valores en cada ejecución sin volver a compilar.


PreparedStatement updateSalario =
  connection.prepareStatement(
  "UPDATE empleados SET salario = ? WHERE nombre LIKE ?");
String[] nombres = {"Pepe","Andres","Antonio","Geromo"}
//asignamos valores en un bucle
for (int i=0; i<nombres.lentgh; i++){
  updateSalario.setFloat(1, 1200);
  updateSalario.setString(2, nombres[i]);
  updateSalario.executeUpdate();
}
Sin categoría

Deja una respuesta