ResultSet を返す
データベースにクエリを実行してテーブル全体を取得するメソッドを開発しようとする場合、 ResultSet を直接指定します。これにより、オープンな接続やステートメントによるリソースのリークや DB リソースの枯渇が発生する可能性があります。この問題に対処するには、ResultSet を代わりに ArrayList などの Javabean のコレクションにマップする必要があります。このコレクションは、メソッドによって返されます。import java.util.ArrayList; import java.util.List; import java.sql.*; // Import necessary sql packages public class DatabaseOperations { public List<Biler> list() throws SQLException { List<Biler> bilers = new ArrayList<Biler>(); // Create an ArrayList to store Biler objects // Utilizing try-with-resources to automatically close resources try (Connection connection = dataSource.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT id, name, value FROM Biler"); ResultSet resultSet = statement.executeQuery()) { // Iterate over the ResultSet and create Biler objects while (resultSet.next()) { Biler biler = new Biler(); biler.setId(resultSet.getLong("id")); biler.setName(resultSet.getString("name")); biler.setValue(resultSet.getInt("value")); bilers.add(biler); } } catch (SQLException e) { throw new SQLException("An error occurred while retrieving data from the database.", e); } return bilers; } }
以上がデータベースにクエリを実行するときに ResultSet を直接返さないほうがよいのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。