Форматирование данных из набора результатов с помощью метода toString () - PullRequest
0 голосов
/ 10 февраля 2012

Мой вопрос заключается в следующем: какой самый эффективный способ использовать метод 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 голосов
/ 10 февраля 2012

Вам нужно преобразовать ResultSet в класс Student, прежде чем вы сможете использовать Student.toString для генерации правильного вывода.

«Извлечение и изменение значений из наборов результатов» объясняет один из способов извлечения данных из ResultSet.

Кроме того, вы можете посмотреть на Object-Relational-Mapping (ORM), которая облегчает создание объектов домена (например, Student) из строк базы данных. Какой Java ORM вы предпочитаете и почему? содержит полезные ссылки на обсуждения различных ORM и того, как с ними начать.

0 голосов
/ 10 февраля 2012

Вы можете переходить строка за строкой через 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");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...