Next JS ile Dinamik İçerik Yönetimi: Veritabanı Bağlantıları ve CRUD İşlemleri

Next JS ile Dinamik İçerik Yönetimi: Veritabanı Bağlantıları ve CRUD İşlemleri

Next JS, modern web uygulamaları geliştirmek için kullanılan popüler bir framework'tür. Bu yazıda, Next JS kullanarak veritabanı bağlantılarını kurma ve CRUD işlemlerini nasıl gerçekleştireceğimizi adım adım ele alacağız.

İlk olarak, Next JS projesinde bir veritabanı bağlantısı oluşturmak için mongoose gibi bir ORM kütüphanesini kullanabiliriz. Veritabanına bağlanmak için gerekli ayarları yapıp model oluşturabilir ve veri tabanı ile iletişim kurabiliriz.


import mongoose from 'mongoose';

mongoose.connect('mongodb://localhost:27017/mydatabase', {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});

const BookSchema = new mongoose.Schema({
  title: String,
  author: String,
});

const Book = mongoose.model('Book', BookSchema);

// CRUD işlemleri buraya eklenecek

Sonrasında CRUD işlemlerini gerçekleştirmek için Next JS içerisinde gerekli endpoint'leri oluşturabiliriz. GET, POST, PUT ve DELETE isteklerini dinleyen fonksiyonlar yazarak veri tabanında okuma, ekleme, güncelleme ve silme işlemlerini yapabiliriz.


// GET - Tüm kitapları listele
app.get('/api/books', async (req, res) => {
  const books = await Book.find();
  res.json(books);
});
  
// POST - Yeni kitap ekle
app.post('/api/books', async (req, res) => {
  const newBook = new Book(req.body);
  await newBook.save();
  res.json(newBook);
});
  
// PUT - Kitap güncelle
app.put('/api/books/:id', async (req, res) => {
  const updatedBook = await Book.findByIdAndUpdate(req.params.id, req.body, { new: true });
  res.json(updatedBook);
});
  
// DELETE - Kitap sil
app.delete('/api/books/:id', async (req, res) => {
  await Book.findByIdAndDelete(req.params.id);
  res.json({ message: 'Kitap silindi' });
});

Bu şekilde, Next JS kullanarak veritabanı bağlantılarını kurabilir ve temel CRUD işlemlerini gerçekleştirebiliriz. Next JS'in sunduğu hızlı geliştirme imkanları ile daha karmaşık uygulamaları da kolaylıkla hayata geçirebiliriz. Kendi projelerinizde de benzer yöntemleri kullanarak dinamik içerik yönetimini sağlayabilirsiniz.

Aşağıdaki yazılar ilginizi çekebilir;