Java-从MySQL数据库获取数据
我已经连接到一个MySQL数据库,该数据库包含四个字段(第一个字段是ID,后一个字段每个都包含varchar字符串)。
我试图获取数据库的最后一行并检索字段的内容,以便可以将它们设置为变量(一个int和三个字符串),并在以后使用它们。
到目前为止,我几乎没有建立连接的最低要求,我从这里去哪里?如您所见,我试图编写一条SQL语句来获取最后一行,但是从那开始一切都出错了,我也不知道如何将其拆分为单独的字段。
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;");
st.getResultSet().getRow();
con.close();
回答:
干得好 :
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();
在rs.getInt
或者rs.getString
您可以通过column_id
从开始1
,但我更喜欢通过column_name
其提供更多的信息,你不必看数据库table
为这index
是什么column
。
rs.next
boolean next()抛出SQLException
将光标从当前位置向前移动一排。ResultSet游标最初位于第一行之前;第一个对方法的调用接下来使第一行成为当前行;第二个调用使第二行成为当前行,依此类推。
当对next方法的调用返回false时,光标将位于最后一行之后。任何需要当前行的ResultSet方法调用都会导致抛出SQLException。如果结果集类型为TYPE_FORWARD_ONLY,则由供应商指定其JDBC驱动程序实现将返回false还是在后续对next的调用上引发SQLException。
如果为当前行打开了输入流,则对next方法的调用将隐式将其关闭。读取新行时,将清除ResultSet对象的警告链。
返回:如果新的当前行有效,则返回true;否则返回false。如果没有更多行,则返回false抛出:SQLException-
如果发生数据库访问错误或在封闭的结果集上调用此方法
参考
以上是 Java-从MySQL数据库获取数据 的全部内容, 来源链接: utcz.com/qa/431582.html