Bueno Sicario.. aqui esta el ejemplo que te debia.
Para no hacerte bolas, meti todas las instrucciones dentro del "main", asi que esta bien secuencial el estilo de programacion.
Esta todo comentado..
Solo una informacion extra. La base de datos se llama "test" y accedemos con el usuario "root" que no posee password.
La tabla que consultaremos se llama "ventas", y para obtener el mismo resultado del ejemplo, se puede crear por medio del siguiente script:
ventas.sql:
CREATE TABLE `ventas` (
`IDProducto` int(5) NOT NULL,
`Nombre` varchar(255) NOT NULL default '',
`Cantidad` int(3) NOT NULL
);
insert into `ventas` values('1','Jabon','4'),
('2','Churros','2'),
('3','Coca Cola','4');
Ahora.. el codigo java
DBTest.java
// Con "import" podemos especificar
// las clases que utilizaremos de las
// librerias. Para este caso Connection
// Statement, y Resultset son Interfaces
// Sin embargo las utilizaremos como
// clases comunes y corrientes.
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
// Esta es la excepcion que se genera
// si hay algun error de SQL
import java.sql.SQLException;
/**
*
* @author mxgxw
*/
public class DBTest {
// Cuando una clase posee una funcion main
// esta es llamada al iniciarse el programa
public static void main(String args[]) {
// Estas son nuestras variables
// Variable de nuestra conexion
Connection conexion;
// Variable que almacena la consulta
Statement st;
// Variable que almacena el ResultSet
ResultSet rs;
// Los bloques try permiten ejecutar un codigo
// que podria lanzar excepciones.
// Las excepciones son por lo general errores
// que se generan en el tiempo de ejecucion
try {
// Cargando el driver MySQL Connector/J
Class.forName("com.mysql.jdbc.Driver").newInstance();
// El bloque catch se encarga de atrapar las
// excepciones, y ejecutar codigo correspondiente
// de recuperacion, o simplemente informarnos
// del error como en este ejemplo.
} catch (Exception ex) {
// Si se da algun error en la carga del driver
// como por ejemplo si no se encuentra.
// Se ejecutara el codigo dentro de estas llaves.
System.out.println("Error cargando el driver " +
"MySQL Connector/J");
}
// Aunque se podria meter todo el codigo dentro de un bloque
// try grandote, no es recomendable, ya que se pueden generar
// distintos tipos de excepciones o errores, y posiblemente
// nos interese saber informacion acerca del error que se
// produjo.
try {
// Conexion a la base de datos:
conexion = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=");
// Creamos la consulta utilizando nuestra conexion
// Como Statement es una interface no puede ser
// creada directamente.
st = conexion.createStatement();
// Ejecutamos la consulta con la funcion "executeQuery"
// y el ResultSet que se devuelve se almacena en rs
rs = st.executeQuery("SELECT IDProducto,Nombre,Cantidad FROM ventas");
// Para mostrar los resultados
// haremos uso de un ciclo while
// Mientras podamos desplazarnos a la
// siguiente fila, mostraremos los datos.
int i = 1;
while(rs.next()) {
// Numero de fila
System.out.print(""+rs.getRow()+": ");
// Imprime IDProducto (int)
System.out.print(""+rs.getInt("IDProducto")+" ");
// Imprime Nombre (String)
System.out.print(""+rs.getString("Nombre")+" ");
// Imprime Cantidad (int)
System.out.println(""+rs.getInt("Cantidad"));
}
// Liberamos el ResultSet
// Si se van a realizar muchisimas consultas
// esto ayuda a conservar recursos de memoria
rs.close();
} catch (SQLException ex) {
// Mostramos la informacion del error
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
}
}
La salida del programa deberia ser la siguiente:
1: 1 Jabon 4
2: 2 Churros 2
3: 3 Coca Cola 4