JDBCで結果セットをページングする方法

JDBCでデータベースをクエリし結果セットを返す際、LIMITとOFFSETを使用してページングを行うことができます。LIMITは返すデータ行数を制限するために使用され、OFFSETは結果セットの何行目からデータの返却を開始するのかを指定するために使用されます。たとえば、「users」という名前のテーブルをクエリし、2ページ目を取得し、各ページに10個のレコードを表示したい場合、次のSQL文を使用できます。`SELECT * FROM users LIMIT 10 OFFSET 10;` JDBCを使用する場合、LIMITとOFFSETの値をSQL文にパラメータとして渡すことができます。以下に例を示します。`int page = 2; // 何ページ目int pageSize = 10; // 各ページのレコード数int offset = (page – 1) * pageSize; // オフセットを計算String sql = “SELECT * FROM users LIMIT ? OFFSET ?”;PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, pageSize);statement.setInt(2, offset);ResultSet resultSet = statement.executeQuery();// クエリ結果を処理while (resultSet.next()) {
// 各レコードを処理}// 接続を閉じるresultSet.close();statement.close();connection.close();` 上記のコードでは、オフセットを計算して、何行目からデータの返却を開始するのかを決定し、それをパラメータとしてPreparedStatementオブジェクトに設定しています。その後、クエリ文を実行し、結果セットを反復処理して各レコードを処理します。最後に、結果セット、文、および接続を閉じます。pageとpageSizeの値を調整することで、異なるページ番号と各ページのレコード数のページングクエリを実行できます。

bannerAds