Mostrar datos de una tabla MySQL en java

Lo primero de todo. Un breve resumen de los pasos para crear una aplicación JDBC:

 - Cargar el driver JDBC.

 - Conectarse a la Base de Datos utilizando la clase Connection.
 - Crear sentencias SQL, utilizando objetos de tipo Statement.
 - Ejecutar las sentencias SQL a través de los objetos de tipo Statement.
 - En caso que sea necesario, procesar el conjunto de registros resultante utilizando la
    clase ResultSet.


Entorno de desarrollo: NetBeans
Gestor de base de datos:  phpMyAdmin
La base de datos se llama “colegio
La tabla “estudiantes

CREATE TABLE estudiantes(
  codEstudiante INTEGER NOT NULL auto_increment,
  nombre VARCHAR(20) NULL,
  apellido VARCHAR(20) NULL, 
  edad INTEGER NOT NULL,
  PRIMARY KEY (codEstudiante ));

Para insertar datos a la tabla estudiantes:

INSERT INTO estudiantes VALUES (1,’jony’,5);
INSERT INTO estudiantes VALUES (2,’mario’,6);


Abrimos el entorno de desarrollo NetBeans y creamos un Nuevo proyecto. Mi proyecto se llama: Consulta_MySQL
Una vez creado el proyecto tendremos que meter la librería mysql-connector para poder realizar consultar SQL desde java.

Podéis descargar la librería desde aquí: http://bit.ly/1TO7z73
                                   
Para meter la librería en NetBeans tenemos que dar botón derecho sobre el proyecto > Propiedades > librerías > Añadir JAR/Carpeta y buscamos la librería mysql-connector.



Ahora ya que hemos creado un nuevo proyecto y metido la librería mysql nos ponemos con el código.



Creamos un pequeño menú de consola para que la aplicación quede más simple e intuitiva:

                           

Una vez visto el menú principal de la aplicación a continuación os pongo el código completo y el resultado:

package data;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author jondocomputing
 */
public class Main {

 
    Connection conexion = null;
    Statement stm = null;
   
    public static void main(String[] args) {
      
        Scanner sc = new Scanner(System.in);
        Main m = new Main();

        m.conectar();    //CONECTO LA BBDD ANTES DE INICIAR EL MENÚ
        boolean salir = false;
        do {

            switch (menuPrin()) {
                case 1:
                    m.consultaTablaEstudiantes();    //Cuando pulse la opción 1 del menú me llevará a la función consultaTablaEstudiantes
                    break;
                case 0:
                    System.out.println("Vuelve pronto");
                    m.desconectar();   //CUANDO PULSO EL 0 CIERRO LA BBDD Y CIERRO LA APL.
                    salir = true;
                    break;
                default:
                    System.out.println("Opción incorrecta");
                    break;
            }
        } while (!salir);

    } //fin main

    //MENU PPAL:
    private static int menuPrin() {

        Scanner sc = new Scanner(System.in);

        System.out.println("--------------------------------");
        System.out.println("Conexión de bbdd MySQL");
        System.out.println("--------------------------------");
        System.out.println("1.MOSTRAR EL CONTENIDO DE LA TABLA ESTUDIANTES");
        System.out.println("0. Salir");
        System.out.println("\n Por favor, escoja una opción.");
        System.out.println("--------------------------------");

        return sc.nextInt(); //Recibo un entero

    }//Fin menuPrin
   
   
   
   
     /*MÉTODO QUE CONECTA CON LA BBDD DE MYSQL*/
    public void conectar() {

        try {
            Class.forName("com.mysql.jdbc.Driver");
            /*En esta línea es importante que indiquemos:
                  el nombre de la base de datos --> colegio
                  El usuario y contraseña que tengamos en nuestro gestor de base de datos phpMyAdmin*/
            conexion = DriverManager.getConnection("jdbc:mysql://localhost/colegio", "jony", "jony");

            System.out.println("**************************************");
            System.out.println(" * CONEXIÓN REALIZADA CORRECTAMENTE * ");
            System.out.println("**************************************");
           
        } catch (Exception e) {

            System.out.println("*****************************************");
            System.out.println(" * NO SE HA PODIDO REALIZAR LA CONEXIÓN * ");
            System.out.println("******************************************");
        }

    }//conectar

    /*DESCONECTAR LA BBDD*/
    private void desconectar() {

        try {
            conexion.close();
            System.out.println("\n************************************************************\n");
            System.out.println("La conexion a la base de datos se ha terminado");
            System.out.println("\n************************************************************");
        } catch (SQLException ex) {
            System.out.println(ex.getMessage());
        }

    }//desconectar
   
    ////////////////////////////////////////////////////////////////////////////
   
    /*MÉTODO PARA REALIZAR UNA CONSULTA A UNA TABLA MYSQL*/
        private void consultaTablaEstudiantes() {
        //Realizamos la consulta sql para mostrar todos los datos de la tabla estudiante
        ResultSet r = buscar("select id,nombre,puntuacion from estudiantes");
        try {
            System.out.println("\n TODOS LOS REGISTROS DE LA TABLA ESTUDIANTES:\n");
           
            /*
            Hacemos un While para recorrer toda la tabla estudiantes
            y así poder sacar todos los registros de la tabla
            */
            while (r.next()) {
                /*Se muestra los datos que queremos sacar por consola indicandole:
                        El tipo de dato (int,String...) de cada campo
                        El nombre de los campos de la tabla entre comillas doble " "
                */
                System.out.println(r.getInt("id") + " | " + r.getString("nombre") + " | " + r.getInt("puntuacion"));
            }
        } catch (SQLException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

    }//mostrarTablaPropietarios
   
       
        //Este método lo uso para mostrar los datos de una tabla: (executeQuery)
    ResultSet buscar(String sql) {
        try {
            stm = conexion.createStatement();
            return stm.executeQuery(sql);
        } catch (SQLException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;

    }//buscar
       
    }//FIN


Este es el resultado de la aplicación cuando pulsamos la opción 1 del menú y vemos como muestran todos los registros de la tabla estudiantes.
                                   
Al pulsar 0 desconectaremos la conexión con la base de datos y cerraremos la aplicación.

Descargar el proyecto desde aquí