H2 এর সাথে Spring Boot Integration

Database Tutorials - এইচ২ ডাটাবেস (H2 Database) H2 Database এর সাথে অন্যান্য টুলস ইন্টিগ্রেশন |
253
253

Spring Boot হল একটি জনপ্রিয় Java ফ্রেমওয়ার্ক যা দ্রুত এবং সহজে স্ট্যান্ডঅ্যালোন অ্যাপ্লিকেশন তৈরি করতে সহায়ক। H2 Database-কে Spring Boot অ্যাপ্লিকেশনের সাথে একীভূত করা খুবই সহজ এবং এটি উন্নত ডেভেলপমেন্টের জন্য একটি দ্রুত এবং লাইটওয়েট ডেটাবেস সমাধান। H2 এর সাথে Spring Boot ইন্টিগ্রেশন ডেভেলপমেন্ট প্রক্রিয়াটি আরও সহজ করে তোলে এবং এটি ডেটাবেস পরিচালনা ও টেস্টিংয়ের জন্য অত্যন্ত সুবিধাজনক।

এই টিউটোরিয়ালে, আমরা দেখব কীভাবে H2 Database কে Spring Boot অ্যাপ্লিকেশনের সাথে একীভূত করা যায়।


Spring Boot এবং H2 Integration এর জন্য প্রয়োজনীয় পদক্ষেপ

১. Spring Boot প্রোজেক্ট তৈরি করা

Spring Boot প্রোজেক্ট শুরু করার জন্য, আপনি Spring Initializr ব্যবহার করতে পারেন:

  • URL: https://start.spring.io/
  • প্রোজেক্ট মেটাডেটা প্রদান করুন (Group, Artifact, Name, Description, Packaging, Java Version ইত্যাদি)।
  • Dependencies হিসেবে H2 Database এবং Spring Web নির্বাচন করুন।

এছাড়াও, আপনি Spring Boot CLI অথবা IDE (IntelliJ IDEA, Eclipse) ব্যবহার করে একটি Spring Boot প্রোজেক্ট তৈরি করতে পারেন।


২. Dependencies যোগ করা

pom.xml (Maven) অথবা build.gradle (Gradle)-এ H2 Database এবং Spring Data JPA এর জন্য প্রয়োজনীয় ডিপেনডেন্সি যোগ করুন।

pom.xml (Maven):

<dependencies>
    <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>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

build.gradle (Gradle):

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    runtimeOnly 'com.h2database:h2'
    implementation 'org.springframework.boot:spring-boot-starter-web'
}

এই ডিপেনডেন্সিগুলি Spring Data JPA এবং H2 Database এর সাথে কাজ করার জন্য প্রয়োজনীয় প্যাকেজ সরবরাহ করবে।


৩. application.properties কনফিগারেশন

Spring Boot অ্যাপ্লিকেশনে H2 Database কনফিগার করতে src/main/resources/application.properties ফাইলটি সম্পাদনা করুন:

# H2 Database কনফিগারেশন
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE;MODE=PostgreSQL
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

# H2 Web Console অ্যাক্সেস কনফিগারেশন
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

এখানে:

  • spring.datasource.url: H2 Database URL। এখানে mem:testdb ব্যবহার করা হয়েছে, যা ইন-মেমরি ডেটাবেজ তৈরি করবে।
  • spring.datasource.username এবং spring.datasource.password: ডেটাবেজ ইউজারনেম এবং পাসওয়ার্ড।
  • spring.h2.console.enabled=true: H2 Web Console সক্রিয় করা হয়েছে, যাতে আপনি http://localhost:8080/h2-console এ ডেটাবেজ অ্যাক্সেস করতে পারেন।

৪. H2 Database Entity তৈরি করা

Spring Data JPA ব্যবহার করে H2 Database এর সাথে কাজ করার জন্য একটি Entity তৈরি করতে হবে। উদাহরণস্বরূপ, একটি Employee Entity তৈরি করা হবে।

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Employee {

    @Id
    private Long id;
    private String name;
    private Integer age;

    // Getter and Setter methods

    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 Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

এটি H2 ডেটাবেজে Employee নামক একটি টেবিল তৈরি করবে।


৫. Repository Interface তৈরি করা

Spring Data JPA ব্যবহার করার জন্য একটি Repository Interface তৈরি করতে হবে:

import org.springframework.data.jpa.repository.JpaRepository;

public interface EmployeeRepository extends JpaRepository<Employee, Long> {
}

এটি Employee Entity এর জন্য CRUD অপারেশন সরবরাহ করবে।


৬. Service Layer তৈরি করা

অ্যাপ্লিকেশনের মধ্যে লজিক রাখতে একটি Service Layer তৈরি করতে হবে:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class EmployeeService {

    @Autowired
    private EmployeeRepository employeeRepository;

    public List<Employee> getAllEmployees() {
        return employeeRepository.findAll();
    }

    public Employee addEmployee(Employee employee) {
        return employeeRepository.save(employee);
    }
}

৭. Controller Layer তৈরি করা

এখন একটি Controller তৈরি করুন, যা HTTP রিকোয়েস্ট গ্রহণ করবে এবং রেসপন্স প্রদান করবে।

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/employees")
public class EmployeeController {

    @Autowired
    private EmployeeService employeeService;

    @GetMapping
    public List<Employee> getAllEmployees() {
        return employeeService.getAllEmployees();
    }

    @PostMapping
    public Employee addEmployee(@RequestBody Employee employee) {
        return employeeService.addEmployee(employee);
    }
}

এটি HTTP GET এবং POST রিকোয়েস্টের মাধ্যমে Employee ডেটা অ্যাক্সেস করবে।


৮. H2 Web Console অ্যাক্সেস করা

Spring Boot অ্যাপ্লিকেশন চালানোর পর, আপনি H2 Web Console-এ http://localhost:8080/h2-console এ গিয়ে আপনার ডেটাবেজের সাথে সরাসরি ইন্টারঅ্যাক্ট করতে পারবেন।

  • JDBC URL: jdbc:h2:mem:testdb
  • Username: sa
  • Password: password

৯. Spring Boot অ্যাপ্লিকেশন রান করা

আপনি অ্যাপ্লিকেশন চালাতে পারেন mvn spring-boot:run বা IDE থেকে সরাসরি রান করে:

mvn spring-boot:run

এবং ব্রাউজারে গিয়ে http://localhost:8080/employees এ GET রিকোয়েস্ট পাঠিয়ে আপনার Employee ডেটা দেখতে পারবেন।


সারাংশ

Spring Boot এর সাথে H2 Database একীভূত করা অত্যন্ত সহজ এবং দ্রুত। এই প্রক্রিয়া দিয়ে আপনি Spring Boot অ্যাপ্লিকেশনে H2 Database ব্যবহার করতে পারবেন, যেখানে ডেটাবেজের সাথে CRUD অপারেশন পরিচালনা করা যাবে। H2 ডেটাবেজটি ইন-মেমরি বা ডিস্ক-ভিত্তিক ডেটাবেজ হিসেবে ব্যবহার করা যায়, এবং এটি সহজে টেস্টিং এবং ডেভেলপমেন্টের জন্য উপযুক্ত।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion