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();
}

Por Ricardo F