8. SQL y Java con la base de datos

Vamos a ver como podemos recuperar los valores de los campos de nuestra tabla. En este caso, vamos a necesitar un objeto "ResultSet" y en vez de utilizar "execute()" como lo hemos hechor para ingresar nuevos registros, utilizaremos "executeQuery()" para recuperarlos, devolviendonos un objeto "ResultSet".

 

Tenemos preparada nuestra clase que es la siguiente:

 

import java.sql.*;

public class Operarios{

    

    public static void main(String[]args){

        try{

            Class.forName("com.mysql.jdbc.Driver");

            String ruta = "jdbc:mysql://localhost:3306/minicursojava";

            Connection conexion = DriverManager.getConnection(ruta, "root", "root");

            Statement st = conexion.createStatement();

 

        }catch(Exception ex){

            System.out.println("Ha habido un fallo en la conexion a la BD : "+ex.getMessage());

        }

    }

}

 

Guardamos la sentencia SQL en una variable llamada "sql" y creamos el objeto "ResultSet" con la variable "sql", asi:

 

import java.sql.*;

public class Operarios{

    

    public static void main(String[]args){

        try{

            Class.forName("com.mysql.jdbc.Driver");

            String ruta = "jdbc:mysql://localhost:3306/minicursojava";

            Connection conexion = DriverManager.getConnection(ruta, "root", "root");

            Statement st = conexion.createStatement();

            

            String sql = "SELECT nombre, sueldo FROM tablacurso";

            ResultSet rs = st.executeQuery(sql);

 

        }catch(Exception ex){

            System.out.println("Ha habido un fallo en la conexion a la BD : "+ex.getMessage());

        }

    }

}

 

Ahora, una vez ya tenemos recuperado la sentencia SQL en nuestro "ResultSet", procederemos a recorrer todos los registros de la tabla utilizando un "while" y ayudandonos con el metodo "next()", y mediante el metodo "getString()", recuperaremos el campo que necesitemos, asi:

 

import java.sql.*;

public class Operarios{

    

    public static void main(String[]args){

        try{

            Class.forName("com.mysql.jdbc.Driver");

            String ruta = "jdbc:mysql://localhost:3306/minicursojava";

            Connection conexion = DriverManager.getConnection(ruta, "root", "root");

            Statement st = conexion.createStatement();

            

            String sql = "SELECT nombre, sueldo FROM tablacurso";

            ResultSet rs = st.executeQuery(sql);

 

            while(rs.next()){

                System.out.println("Nombre: "+rs.getString("nombre")+" | Sueldo: "+rs.getString("sueldo"));

            }

 

        }catch(Exception ex){

            System.out.println("Ha habido un fallo en la conexion a la BD : "+ex.getMessage());

        }

    }

}

 

Como no, no nos olvidemos de cerrar el flujo de datos:

 

import java.sql.*;

public class Operarios{

    

    public static void main(String[]args){

        try{

            Class.forName("com.mysql.jdbc.Driver");

            String ruta = "jdbc:mysql://localhost:3306/minicursojava";

            Connection conexion = DriverManager.getConnection(ruta, "root", "root");

            Statement st = conexion.createStatement();

            

            String sql = "SELECT nombre, sueldo FROM tablacurso";

            ResultSet rs = st.executeQuery(sql);

 

            while(rs.next()){

                System.out.println("Nombre: "+rs.getString("nombre")+" | Sueldo: "+rs.getString("sueldo"));

            }

 

            conexion.close();

            st.close();

            rs.close();

        }catch(Exception ex){

            System.out.println("Ha habido un fallo en la conexion a la BD : "+ex.getMessage());

        }

    }

}

 

Ejecuta esta clase y veras lo que ocurre en la consola.

Recuerda que lo que recuperaras de la tabla, sera lo que tu codifiques en tus sentencias SQL.