উদাহরণ সহ JPA এবং Spring ORM এর Integration

JPA (Java Persistence API) এবং Spring ORM - স্প্রিং ওআরএম (Spring ORM) - Java Technologies

282

Spring ORM এবং JPA (Java Persistence API) ব্যবহার করে ডাটাবেস ইন্টিগ্রেশন আরও সহজ এবং কার্যকর করা যায়। Spring Framework JPA-র জন্য একটি সরল ইন্টিগ্রেশন প্রদান করে, যেখানে ডাটাবেস অপারেশনগুলো সহজে কনফিগার এবং ব্যবহার করা যায়।


উদাহরণ: JPA এবং Spring ORM এর ইন্টিগ্রেশন

প্রজেক্ট কনফিগারেশন

Spring Boot ব্যবহার করে JPA এবং Spring ORM ইন্টিগ্রেশন করা সহজ। নিচের ধাপগুলো অনুসরণ করে একটি কাজের উদাহরণ তৈরি করা যাবে।


ডিপেন্ডেন্সি (Dependencies) যোগ করা

pom.xml-এ প্রয়োজনীয় ডিপেন্ডেন্সি যোগ করতে হবে।

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

এখানে H2 ডাটাবেস ব্যবহার করা হয়েছে, তবে MySQL, PostgreSQL ইত্যাদিও ব্যবহার করা যায়।


অ্যাপ্লিকেশন প্রপার্টিজ (Application Properties)

application.properties ফাইলে ডাটাবেস কনফিগারেশন দিন।

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=update
spring.h2.console.enabled=true

Entity ক্লাস তৈরি করা

JPA এর @Entity অ্যানোটেশন ব্যবহার করে একটি টেবিলের ম্যাপিং করতে হবে।

package com.example.demo.entity;

import jakarta.persistence.*;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;
    private String email;

    // Getters and Setters
    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;
    }
}

Repository ইন্টারফেস তৈরি করা

Spring Data JPA-র মাধ্যমে ডাটাবেস অপারেশনের জন্য একটি ইন্টারফেস তৈরি করুন।

package com.example.demo.repository;

import com.example.demo.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

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

সার্ভিস লেয়ার তৈরি করা

সার্ভিস লেয়ার দিয়ে ডাটাবেস অপারেশন ম্যানেজ করুন।

package com.example.demo.service;

import com.example.demo.entity.User;
import com.example.demo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    @Autowired
    private UserRepository userRepository;

    public List<User> getAllUsers() {
        return userRepository.findAll();
    }

    public User saveUser(User user) {
        return userRepository.save(user);
    }
}

কন্ট্রোলার তৈরি করা

REST API তৈরি করতে একটি কন্ট্রোলার তৈরি করুন।

package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

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

    @Autowired
    private UserService userService;

    @GetMapping
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        return userService.saveUser(user);
    }
}

অ্যাপ্লিকেশন চালু করা

Spring Boot অ্যাপ্লিকেশন চালানোর জন্য @SpringBootApplication সহ একটি মেইন ক্লাস তৈরি করুন।

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

অ্যাপ্লিকেশন পরীক্ষা করা

  1. GET API: http://localhost:8080/api/users URL-এ গিয়ে সমস্ত ব্যবহারকারী দেখতে পারবেন।
  2. POST API: নতুন ব্যবহারকারী তৈরি করতে POST রিকোয়েস্ট পাঠান।
{
    "name": "John Doe",
    "email": "john.doe@example.com"
}

সারাংশ

Spring ORM এবং JPA এর ইন্টিগ্রেশন ডাটাবেস অপারেশনকে সহজতর করে। এই উদাহরণটি RESTful API এবং ডাটাবেসের মধ্যে ইন্টিগ্রেশন দেখায়। Spring Boot এবং JPA ব্যবহার করে ডেভেলপাররা দ্রুত এবং কার্যকর অ্যাপ্লিকেশন তৈরি করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...