Spring Boot ile CRUD Operasyonları: Read (Okuma) İşlemi Nasıl Yapılır?

Herkese merhaba! Bu yazımızda, Spring Boot kullanarak CRUD operasyonlarından read (okuma) işlemini nasıl gerçekleştirebileceğinizi adım adım anlatacağız. Projemizde IntelliJ IDEA kullanacağız, ancak siz istediğiniz IDE’yi tercih edebilirsiniz. Veritabanı olarak PostgreSQL kullanacağız. Hadi başlayalım!

1. Proje Oluşturma

Spring Boot projesi oluşturmak için Spring Initializr sitesini kullanacağız. Bu adımları takip edin:

Spring Web, PostgreSQL Driver ve Spring Data JPA dependency’lerini ekleyin.

Maven Project seçeneğini seçin.

Java sürümü olarak Java 8’i seçin.

Generate butonuna tıklayarak projenizi ZIP olarak indirin.

ZIP dosyasını bilgisayarınıza çıkarın ve IntelliJ IDEA’da Open seçeneği ile projeyi açın. Projeyi açarken pom.xml dosyasını seçtiğinizden emin olun.

2. Proje Yapısı

Spring Boot projelerinde temel olarak üç paket kullanılır:

Model Paketi: Veritabanı tabloları ile eşleşen sınıfları içerir.

Repository Paketi: Veritabanı işlemlerini yöneten interface’leri içerir.

Controller Paketi: Gelen istekleri karşılayan ve yönlendiren sınıfları içerir.

3. Model Paketi Oluşturma

İlk olarak Model Paketi oluşturalım. Bu paket içinde User adında bir sınıf oluşturacağız.

package com.example.demo.model;

import javax.persistence.*;

@Entity
@Table(name = "users")
public class User {

   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   private Long id;

   private String name;
   private String email;

   // Constructor
   public User() {}

   // Getter ve Setter Metotları
   public Long getId() {
       return id;
   }

   public void setId(Long id) {
       this.id = id;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   public String getEmail() {
       return email;
   }

   public void setEmail(String email) {
       this.email = email;
   }
}

Açıklamalar:

@Entity: Bu sınıfın bir veritabanı tablosuna karşılık geldiğini belirtir.

@Table: Tablo adını belirtir.

@Id: Birincil anahtar (primary key) olduğunu belirtir.

@GeneratedValue: Otomatik artan bir değer olduğunu belirtir.

4. Repository Paketi Oluşturma

Repository Paketi içinde UserRepository adında bir interface oluşturacağız. Bu interface, JpaRepository’den türetilecek.

package com.example.demo.repository;

import com.example.demo.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}

Açıklamalar:

JpaRepository: CRUD operasyonları için hazır metotlar sağlar.

User: Model sınıfını, Long ise birincil anahtarın tipini belirtir.

5. Controller Paketi Oluşturma

Controller Paketi içinde UserController adında bir sınıf oluşturacağız. Bu sınıf, gelen istekleri karşılayacak.

package com.example.demo.controller;

import com.example.demo.model.User;
import com.example.demo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api")
public class UserController {

   @Autowired
   private UserRepository userRepository;

   @GetMapping("/listele")
   public List<User> getAllUsers() {
       return userRepository.findAll();
   }
}

Açıklamalar:

@RestController: Bu sınıfın bir controller olduğunu belirtir.

@RequestMapping: Temel URL yolunu belirtir.

@Autowired: Dependency Injection ile UserRepository’yi otomatik olarak bağlar.

@GetMapping: Veritabanından veri okumak için kullanılır.

6. Veritabanı Bağlantısı

application.properties dosyasına PostgreSQL bağlantı ayarlarını ekleyelim.

properties

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.show-sql=true
spring.datasource.url=jdbc:postgresql://localhost:5432/DatabaseAdı
spring.datasource.username=postgres
spring.datasource.password=şifre

7. Uygulamayı Çalıştırma

Projeyi çalıştırmak için Debug butonuna tıklayın. Uygulama başladıktan sonra tarayıcınızda aşağıdaki URL’yi açın:

http://localhost:8080/api/listele

Bu adres, veritabanındaki tüm kullanıcıları listeleyecektir.

8. Sonuç

Bu yazımızda, Spring Boot ile CRUD operasyonlarından read (okuma) işlemini nasıl gerçekleştirebileceğinizi öğrendiniz. Projenizi geliştirerek create, update ve delete işlemlerini de ekleyebilirsiniz.

Sorularınızı yorum kısmına yazabilirsiniz. Bir sonraki yazımızda görüşmek üzere, iyi çalışmalar!

Beğendiysen bir çay ısmarlayabilirsin ☕

Bana çay ısmarla

Spring Boot ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *