我的问题是,使用toString方法格式化ResultSet数据的最有效方法是什么?
这是我到目前为止的方法:
public void query()
{
Statement stmt = null;
ResultSet rs = null;
try
{
//Create database connection
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/registrar",
"abt1s", "abt1s");
stmt = conn.createStatement();
//create SQL statement
String st = "SELECT * FROM student WHERE studentID = '" + this.getStudentID() + " '";
rs = stmt.executeQuery(st);
String studentData = rs.toString();
System.out.println(studentData);
rs.close();
stmt.close();
conn.close();
}catch(Exception e)
{
System.err.println("ERROR: Either cannot connect to the DB " + " or error with the SQL statement");
}
}
答案 0 :(得分:0)
您可以逐行遍历ResultSet并打印您想要的任何内容:
// Fetch each row from the result set
while (rs.next()) {
// Get the data from the row using the column index
String s = rs.getString(1);
// Get the data from the row using the column name
s = rs.getString("col_string");
}
答案 1 :(得分:0)
您必须先将ResultSet
转换为Student
类,然后才能使用Student.toString
生成正确的输出。
"Retrieving and Modifying Values from Result Sets"解释了从ResultSet
中提取数据的一种方法。
或者,您可以查看对象关系映射(ORM),它可以简化从数据库行创建域对象(如Student
)。 What Java ORM do you prefer, and why?有助于讨论各种ORM以及如何开始使用它们。