Saltar al contenido

Java – Obtener datos de la base de datos MySQL

Anduvimos investigado en todo el mundo online para de esta manera tener para ti la solución a tu inquietud, en caso de preguntas puedes dejar tu pregunta y te contestamos sin falta, porque estamos para servirte.

Solución:

Aquí tienes :

Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/t", "", "");

Statement st = con.createStatement();
String sql = ("SELECT * FROM posts ORDER BY id DESC LIMIT 1;");
ResultSet rs = st.executeQuery(sql);
if(rs.next())  
 int id = rs.getInt("first_column_name"); 
 String str1 = rs.getString("second_column_name");


con.close();

En rs.getInt o rs.getString puedes pasar column_id empezando desde 1pero prefiero pasar column_name ya que es más informativo ya que no tiene que mirar la base de datos table para cual index qué es column.

ACTUALIZAR :rs.next

booleano siguiente () lanza SQLException

Mueve el cursor hacia adelante una fila desde su posición actual. Un cursor ResultSet se coloca inicialmente antes de la primera fila; la primera llamada al método next convierte la primera fila en la fila actual; la segunda llamada convierte la segunda fila en la fila actual, y así sucesivamente.

Cuando regresa una llamada al siguiente método false, el cursor se coloca después de la última fila. Cualquier invocación de un método ResultSet que requiera una fila actual generará una SQLException. Si el tipo de conjunto de resultados es TYPE_FORWARD_ONLY, el proveedor especifica si su implementación del controlador JDBC devolverá false o lanzar una SQLException en una llamada posterior a next.

Si un flujo de entrada está abierto para la fila actual, una llamada al método next lo cerrará implícitamente. La cadena de advertencia de un objeto ResultSet se borra cuando se lee una nueva fila.

Devoluciones:
true si la nueva fila actual es válida; false si no hay más filas Lanza: SQLException: si se produce un error de acceso a la base de datos o se llama a este método en un conjunto de resultados cerrado

referencia

Algo como esto haría:

public static void main(String[] args) 

    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    String url = "jdbc:mysql://localhost/t";
    String user = "";
    String password = "";

    try 
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection(url, user, password);
        st = con.createStatement();
        rs = st.executeQuery("SELECT * FROM posts ORDER BY id DESC LIMIT 1;");

        if (rs.next()) //get first result
            System.out.println(rs.getString(1));//coloumn 1
        

     catch (SQLException ex) 
        Logger lgr = Logger.getLogger(Version.class.getName());
        lgr.log(Level.SEVERE, ex.getMessage(), ex);

     finally 
        try 
            if (rs != null) 
                rs.close();
            
            if (st != null) 
                st.close();
            
            if (con != null) 
                con.close();
            

         catch (SQLException ex) 
            Logger lgr = Logger.getLogger(Version.class.getName());
            lgr.log(Level.WARNING, ex.getMessage(), ex);
        
    

puede iterar sobre los resultados con un while como esto:

while(rs.next())

System.out.println(rs.getString("Colomn_Name"));//or getString(1) for coloumn 1 etc

Hay muchos otros excelentes tutoriales por ahí como estos para enumerar algunos:

  • http://www.vogella.com/articles/MySQLJava/article.html
  • http://www.java-samples.com/showtutorial.php?tutorialid=9

En cuanto a su uso de Class.forName("com.mysql.jdbc.Driver").newInstance(); ver conexión JDBC- Class.forName vs Class.forName().newInstance? que muestra cómo puedes usar Class.forName("com.mysql.jdbc.Driver") ya que no es necesario que lo inicie usted mismo

Referencias:

  • http://zetcode.com/databases/mysqljavatutorial/

Nos encantaría que puedieras compartir este tutorial si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *