hola , yo puedo resolver algo de tus dudas , yo hace poco trabaje con BD con java te explico, lo primero es el driver conector como dijo el colega bajalo de la pagina, lo otro es el path , bueno yo uso linux y lo hago de la siguiente forma :
 
1-extraigo el connecto.jar que viene en el controlador :
entras al al carpeta del controlador, luego 
mv mysql-connector-java-[version]-bin.jar ../connector.jar  , retrocedes cd ..
luego copias el connector.jar a "como root": 
mv connector.jar /usr/java/j2sdk1.4.2_04/jre/lib/ext 
hasta ahy vamos bien ahora debemos colocar la ruta del path.
2-depende de tu base de datos que uses yo uso mysql y en la pagina vi como conectar el controlador de la siguiente forma:
comando :  csh
$ setenv CLASSPATH /usr/java/j2sdk1.4.2_04/jre/lib/ext/connector.jar:$CLASSPATH 
luego exit .
entonces esta todo ok! 
ahora probemos un ejemplo para testear de que el controlador este bien, y se conecte a la bd : 
primero debes crear una base de datos en este caso sera agendita
nos vamos a mysql: 
mysql>create database agendita;  (esto, crea la base de datos agendita) 
// luego le damos permiso al usuario que entrara , o usara esta base de datos
mysql>use agendita;  <----- entramos a la bd agendita
mysql>grant all on agendita.* to usuario@localhost indentified by 'contraseña';  (las comillas de la contraseña son comillas simples)
exit (salimos) 
ya estamos OK entonces con la bd a si sabes sql entonce creo que lo demas es un mero tramite.
ahora al codigo. 
archivo : TestConnection.java 
import java.sql.*; 
public class TestConnection
{
   static String bd = "agendita";  //si te fijas aca va la base de datos que entraremos
   static String login = "usuario";  //aca colocas el usuario que entrara  
   static String password = "holahola"; //como es obvio dice pass , colocas la pass que usaste en la cd cuando le diste el permiso al usuario y asignaste la pass
   static String url = "jdbc:mysql://localhost/"+bd; 
   public static void main(String[] args) throws Exception
   {
      Connection conn = null; 
      try
      {
         Class.forName("com.mysql.jdbc.Driver").newInstance  (); 
         conn = DriverManager.getConnection(url,login,password); 
         if (conn != null)
         {
            System.out.println("Conexión a base de datos "+url+" ... Ok");
            conn.close();
         }
      }
      catch(SQLException ex)
      {
         System.out.println(ex);
      }
      catch(ClassNotFoundException ex)
      {
         System.out.println(ex);
      } 
   }
}  
bueno si todo sale ok estas conectado ya a una BD, si te arroja errores con el driver verifica lo anterior por que funciona a la perfeccion , si me extendi mucho sorry , alomejor fui un poco exagerado , pero en fin espero tu respuesta como te va, ojala que te funcione .
dudas ?? 
criticas??
acepto de todo, gracias :)=