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 1
pero 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.