我的问题是,使用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");
}
}
您可以逐行浏览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");
}
您需要将ResultSet
转换为Student
类,然后才能使用Student.toString
生成正确的输出。
"从结果集中检索和修改值"解释了从ResultSet
中提取数据的一种方法。
或者,您可以查看对象关系映射(ORM),它简化了从数据库行创建域对象(如Student
)的过程。你喜欢什么Java ORM,为什么?提供了关于各种ORM的讨论以及如何开始使用这些ORM的有用指针。