Доступ к таблице - SQL (Java)

Предположим, у меня есть таблица MYtable, как указано ниже:

ID   A     B        C
1   100  APPLE     CAKE
2   200  BANANA    PIE

Я хочу иметь возможность сохранить все эти записи таблицы в списке (какой-то вид) и перебирать каждую запись.

Запрос будет:

select * from Mytable where ID in (1,2,3)

Итак, в списке должно быть 2 записи: запись1 должна содержать 1100,APPLE,CAKE и запись2 должна содержать 2200,BANANA,PIE

Я также хочу иметь возможность перебирать каждую запись

Итак, для record1 - я хочу получить getColumnA, т.е. 100, getColumnB, т.е. APPLE, и так далее.

3 ответа

Решение
List<YourObject> listOfObjects = new ArrayList<YourObject>();
  while(rs.next()){
        int id = rs.getInt(1);
        int A = rs.getInt(2);
        String B= rs.getString(3);
        String C = rs.getString(4);
        YourObject ob = new YourObject (id, A, B, C);
        listOfObjects.add(ob); //now you have the list of objects .. iterate trough it
    }

Сначала вам понадобится JDBC для подключения к базе данных.

Вы можете использовать Statement или PreparedStatement для извлечения данных из базы данных, а затем вы можете получить эти данные, сохраненные в ResultSet.

Теперь вы можете перебирать результаты в ResultSet.

Для этого вам нужно реализовать JDBC.

После создания соединения JDBC. Выполнить запрос и извлечь записи из набора результатов. Из записи вы также можете получить определенные столбцы.

см. следующий пример, как работать с jdbc basic

http://www.jdbc-tutorial.com/

import java.sql.* ;

class JDBCQuery
{
 public static void main( String args[] )
 {
  try
     {
      // Load the database driver
      Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ) ;

      // Get a connection to the database
      Connection conn = DriverManager.getConnection( "jdbc:odbc:Database" ) ;

      // Print all warnings
      for( SQLWarning warn = conn.getWarnings(); warn != null; warn = warn.getNextWarning() )
         {
          System.out.println( "SQL Warning:" ) ;
          System.out.println( "State  : " + warn.getSQLState()  ) ;
          System.out.println( "Message: " + warn.getMessage()   ) ;
          System.out.println( "Error  : " + warn.getErrorCode() ) ;
         }

      // Get a statement from the connection
      Statement stmt = conn.createStatement() ;

      // Execute the query
      ResultSet rs = stmt.executeQuery( "select * from Mytable where ID in (1,2,3)" ) ;

      // Loop through the result set
      while( rs.next() )
      {
         System.out.println( rs.getString('ID') ) ;
         System.out.println( rs.getString('A') ) ;
         System.out.println( rs.getString('B') ) ;
         System.out.println( rs.getString('C') ) ;
      }

      // Close the result set, statement and the connection
      rs.close() ;
      stmt.close() ;
      conn.close() ;
     }
  catch( SQLException se )
     {
      System.out.println( "SQL Exception:" ) ;

      // Loop through the SQL Exceptions
      while( se != null )
         {
          System.out.println( "State  : " + se.getSQLState()  ) ;
          System.out.println( "Message: " + se.getMessage()   ) ;
          System.out.println( "Error  : " + se.getErrorCode() ) ;

          se = se.getNextException() ;
         }
     }
  catch( Exception e )
     {
      System.out.println( e ) ;
     }
 }
}
Другие вопросы по тегам