TypeORM ile Pagination ve Limit Kullanımı


TypeORM ile Pagination ve Limit Kullanımı

Giriş: Backend Geliştirmede Pagination Neden Önemlidir?

Backend uygulamalarının verimli çalışabilmesi için, büyük veri kümelerini kullanıcıya parça parça sunmak oldukça önemlidir. Pagination yani sayfalama, bu ihtiyaca mükemmel bir çözümdür. TypeORM; Node.js projelerinde sıklıkla tercih edilen popüler bir ORM kütüphanesi olarak, pagination ve limit işlemlerini son derece kolaylaştırır. Bu makalede, TypeORM ile Pagination ve Limit Kullanımı hakkında detaylı teknik bilgiler ve örnek kodlar bulacaksınız.

TypeORM ile Pagination ve Limit Kullanımı

TypeORM ile pagination işlemleri çoğunlukla find veya QueryBuilder metotları kullanılarak yapılır. Özellikle büyük veri setlerine sahip tabloları parçalara ayırarak API performansını artırabilir ve istemcilerin gereksiz miktarda veriyle karşılanmasını önlemiş olursunuz. Aşağıda en sık kullanılan yöntemlerin detaylarını bulabilirsiniz.

Find Metodu ile Basit Pagination

const page = 1; // Kaçıncı sayfa
const pageSize = 10; // Sayfa başına kayıt sayısı
const [users, total] = await dataSource.getRepository(User).findAndCount({
  skip: (page - 1) * pageSize,
  take: pageSize,
  order: { id: 'DESC' },
});

Buradaki skip ve take parametreleri doğrudan TypeORM'un find fonksiyonunda kullanılır. skip kaç kayıt atlanacağını, take ise kaç kayıt alınacağını belirtir. Bu yapı, TypeORM ile Pagination ve Limit Kullanımı açısından en pratik yöntemlerden biridir.

QueryBuilder ile İleri Düzey Pagination

const page = 2;
const limit = 5;
const users = await dataSource
  .getRepository(User)
  .createQueryBuilder('user')
  .orderBy('user.createdAt', 'DESC')
  .skip((page - 1) * limit)
  .take(limit)
  .getMany();

QueryBuilder, daha kompleks sorgular oluşturmak ve sayfalama işlemlerine esneklik kazandırmak için tercih edilebilir. Özellikle ilişki içeren sorgularda veya filtrelerle birlikte pagination yapmak istediğinizde kullanışlıdır. .skip() ve .take() metotları yine burada da aktif rol oynar.

Sonuç: TypeORM ile Etkili ve Performanslı API'ler

TypeORM ile Pagination ve Limit Kullanımı; hem performans açısından hem de geliştirici deneyimi bakımından büyük avantajlar sağlar. Yazılım projelerinizde veri bazlı işlemlerde API'nizin hızlı ve stabil çalışmasını istiyorsanız, pagination uygulamasını mutlaka entegre etmelisiniz. TypeORM'un sunduğu kolaylıklar sayesinde bu işlemleri birkaç satır kodla güvenli ve okunabilir şekilde gerçekleştirebilirsiniz.