Pagination, bir veri kümesini küçük parçalara (sayfalara) ayırma işlemidir. Bu işlem, özellikle büyük veri setlerinde, kullanıcıların verilere daha hızlı ve düzenli bir şekilde erişmesini sağlamak için kullanılır. Örneğin, bir web sitesinde bir tabloda 1000 kayıt varsa, her sayfada 10 kayıt göstermek için pagination uygulanır.
MySQL'de LIMIT ve OFFSET kullanılarak pagination işlemi yapılabilir.
SELECT * FROM tablo_adi
LIMIT başlangıç_kaydı, kayıt_sayısı;
Bir products tablosunda ürünler listeleniyor. Her sayfada 10 kayıt gösterilmek isteniyor.
Sayfa 1 (İlk 10 Kayıt): SELECT * FROM products LIMIT 0, 10;
Sayfa 2 (11-20 Arası Kayıtlar): SELECT * FROM products LIMIT 10, 10;
Sayfa 3 (21-30 Arası Kayıtlar): SELECT * FROM products LIMIT 20, 10;
Java’da pagination genellikle bir veritabanı ile birlikte çalışırken kullanılır. Aşağıda bir MySQL sorgusuyla birleştirilmiş bir Java örneği verilmiştir.
products tablosundan her sayfada 10 kayıt gösteren bir sistem.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class PaginationExample {
public static void main(String[] args) {
String jdbcURL = "jdbc:mysql://localhost:3306/your_database";
String username = "your_username";
String password = "your_password";
int page = 2; // Örnek: 2. sayfa
int recordsPerPage = 10;
int offset = (page - 1) * recordsPerPage;
String query = "SELECT * FROM products LIMIT ?, ?";
try (Connection connection = DriverManager.getConnection(jdbcURL, username, password);
PreparedStatement preparedStatement = connection.prepareStatement(query)) {
preparedStatement.setInt(1, offset);
preparedStatement.setInt(2, recordsPerPage);
ResultSet resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
System.out.println("Product ID: " + resultSet.getInt("id"));
System.out.println("Product Name: " + resultSet.getString("name"));
System.out.println("Price: " + resultSet.getDouble("price"));
System.out.println("---------------------------");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
MySQL ve Java ile Pagination:
Pagination, performans ve kullanıcı deneyimi açısından büyük veri kümelerinin yönetiminde kritik bir rol oynar. Bu örnekler, hem veritabanı hem de uygulama düzeyinde nasıl uygulanabileceğini göstermektedir.
*Gönderi ve görsel chatgpt ile oluşturulmuştur.