Spring Framework, veritabanı işlemlerini kolaylaştırmak amacıyla Spring Data JPA‘yı sunar. Bu yazıda, Spring Data JPA’nın temellerini ve popüler gömülü veritabanları olan H2 ve HSQLDB ile entegrasyonunu ele alacağız.
Embedded Veritabanları: H2, HSQLDB
Gömülü veritabanları, harici bir kuruluma ihtiyaç duymadan uygulama içerisinde çalışabilen veritabanı sistemleridir. H2 ve HSQLDB, Java için sıkça kullanılan gömülü veritabanlarıdır.
H2: Hızlı, hafif ve kolay entegrasyonu ile bilinir.
HSQLDB: Tamamen bellek içi çalışma yeteneği ile dikkat çeker.
Spring Boot ile Gömülü Veritabanı Entegrasyonu
Projeye eklememiz gereken bağımlılıklar:
1 2 3 4 5 6 7 8 9 10 11 |
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> |
Veritabanı tablosunu temsil edecek bir entity sınıfı:
1 2 3 4 5 6 7 8 9 10 11 |
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String firstName; private String lastName; // Getters, Setters, and other methods } |
Spring Data JPA, CRUD işlemleri için otomatik olarak metotları sağlayan repository:
1 2 3 4 |
public interface UserRepository extends JpaRepository<User, Long> { } |
Örnek kullanım:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
@Autowired UserRepository userRepository; // CREATE public User addUser(User user) { return userRepository.save(user); } // READ public User getUserById(Long id) { return userRepository.findById(id).orElse(null); } public List<User> getAllUsers() { return userRepository.findAll(); } // UPDATE public User updateUser(User user) { return userRepository.save(user); } // DELETE public void deleteUser(Long id) { userRepository.deleteById(id); } |
Spring Data JPA, veritabanı işlemlerini basit ve etkili bir şekilde yapabilmenizi sağlar. Gömülü veritabanları ile olan entegrasyonu, geliştirme sürecini hızlandırmak adına büyük avantajlar sunar.
Umarım “Spring Data JPA ile Veritabanı Bağlantısı” başlıklı yazım sizin için faydalı olmuştur.
Şu yazılar da ilginizi çekebilir.
Spring Boot ile Controller Oluşturma
Yeni bir yazımda görüşmek üzere.
Happy coding!