使用toString()方法格式化结果集中的数据

时间:2012-02-10 05:25:21

标签: java jdbc

我的问题是,使用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");
            }

}

2 个答案:

答案 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以及如何开始使用它们。