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



我的问题是,使用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的有用指针。

相关内容

  • 没有找到相关文章

最新更新