HSQLDB (HyperSQL Database) একটি ওপেন-সোর্স এবং হালকা-ওজনের ডেটাবেস যা দ্রুত এবং সহজে জাভা অ্যাপ্লিকেশনগুলিতে ব্যবহার করা যায়। Spring Boot একটি জনপ্রিয় জাভা ফ্রেমওয়ার্ক যা দ্রুত এবং সহজভাবে স্ট্যান্ডঅ্যালোন অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে। HSQLDB এবং Spring Boot এর সংমিশ্রণটি সহজভাবে ডেটাবেস অপারেশন পরিচালনা এবং দ্রুত ডেভেলপমেন্টের জন্য উপযুক্ত।
এই টিউটোরিয়ালে, আমরা দেখব কিভাবে Spring Boot এবং HSQLDB একত্রে কাজ করে একটি ডেটাবেস সংযোগ তৈরি এবং সেটআপ করা যায়।
1. Spring Boot Project Setup
প্রথমে, Spring Boot প্রজেক্ট তৈরি করতে হবে। আপনি Spring Initializr ব্যবহার করে সহজেই একটি Spring Boot প্রজেক্ট তৈরি করতে পারেন।
- Spring Initializr ব্যবহার করে প্রজেক্ট তৈরি:
- যান Spring Initializr
Projectনির্বাচন করুনMaven ProjectLanguageনির্বাচন করুনJavaSpring Bootনির্বাচন করুন সর্বশেষ সংস্করণ- Dependencies হিসাবে
Spring Web,Spring Data JPA, এবংHSQLDBনির্বাচন করুন Generateবাটনে ক্লিক করুন এবং প্রজেক্টটি ডাউনলোড করুন
- Spring Boot প্রজেক্ট খুলুন:
- আপনার IDE (যেমন IntelliJ IDEA বা Eclipse) ব্যবহার করে Spring Boot প্রজেক্টটি খুলুন
2. HSQLDB ডিপেনডেন্সি যোগ করা
Spring Boot প্রজেক্টে HSQLDB সংযুক্ত করতে, আপনাকে pom.xml ফাইলে HSQLDB ডিপেনডেন্সি যোগ করতে হবে। এটি Spring Data JPA এবং HSQLDB এর মধ্যে সংযোগ স্থাপন করবে।
pom.xml ফাইলে HSQLDB ডিপেনডেন্সি যোগ করুন:
<dependencies>
<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>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.5.0</version>
<scope>runtime</scope>
</dependency>
</dependencies>
এই ডিপেনডেন্সিগুলি Spring Boot অ্যাপ্লিকেশনকে JPA (Java Persistence API) এর মাধ্যমে HSQLDB ডেটাবেসে সংযোগ করতে সক্ষম করবে।
3. HSQLDB এর সাথে Spring Boot Configuration
Spring Boot অ্যাপ্লিকেশনের জন্য ডেটাবেস কনফিগারেশন ফাইল application.properties বা application.yml ফাইলে রাখা হয়। এই ফাইলে HSQLDB এর জন্য সংযোগ সেটআপ করা হয়।
application.properties ফাইলে HSQLDB এর কনফিগারেশন:
# HSQLDB Configuration
spring.datasource.url=jdbc:hsqldb:mem:testdb
spring.datasource.driverClassName=org.hsqldb.jdbc.JDBCDriver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect
# Enable Hibernate DDL auto creation
spring.jpa.hibernate.ddl-auto=create-drop
# Show SQL queries in console
spring.jpa.show-sql=true
# HSQLDB specific
spring.datasource.initialize=true
spring.datasource.schema=classpath:schema.sql
spring.datasource.data=classpath:data.sql
spring.datasource.url: এখানেjdbc:hsqldb:mem:testdbব্যবহার করা হয়েছে, যা HSQLDB এর ইন-মেমোরি ডেটাবেস তৈরি করবে।spring.jpa.hibernate.ddl-auto: এটি Hibernate কে ডেটাবেসের স্কিমা তৈরি করতে বলে (যেমনcreate-dropএটি ডেটাবেসকে প্রতিটি রান টার্মিনালে তৈরি এবং মুছে ফেলবে)।spring.datasource.usernameএবংspring.datasource.password: HSQLDB এর জন্য ডিফল্ট ইউজারনেম এবং পাসওয়ার্ড দেওয়া হয়েছে।
4. Spring Data JPA Repository Setup
Spring Data JPA ব্যবহার করে ডেটাবেস অপারেশন করতে, প্রথমে একটি Entity ক্লাস তৈরি করতে হবে, তারপর একটি Repository ইন্টারফেস তৈরি করতে হবে।
4.1 Entity ক্লাস তৈরি করা
ধরা যাক, আমরা একটি User Entity তৈরি করছি যা HSQLDB এর সাথে সংযুক্ত হবে।
User.java:
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class User {
@Id
private Long id;
private String name;
private String email;
// Getter and Setter methods
public User() {}
public User(Long id, String name, String email) {
this.id = id;
this.name = name;
this.email = email;
}
}
4.2 Repository Interface তৈরি করা
Spring Data JPA এর সাহায্যে ডেটাবেস অপারেশন করার জন্য একটি Repository ইন্টারফেস তৈরি করুন।
UserRepository.java:
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Long> {
User findByName(String name);
}
এই Repository ইন্টারফেসটি Spring Data JPA দ্বারা স্বয়ংক্রিয়ভাবে ইমপ্লিমেন্ট করা হয় এবং এতে ডেটাবেস অপারেশন যেমন findByName এবং অন্যান্য CRUD (Create, Read, Update, Delete) অপারেশন অন্তর্ভুক্ত থাকে।
5. Service Layer (Business Logic)
Spring Boot অ্যাপ্লিকেশনে সাধারণত একটি Service লেয়ার থাকে যা ব্যবসায়িক লজিক প্রক্রিয়া করে এবং Repository থেকে ডেটা নিয়ে কাজ করে।
UserService.java:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User saveUser(User user) {
return userRepository.save(user);
}
public User getUserByName(String name) {
return userRepository.findByName(name);
}
}
6. Controller Layer (Web Layer)
Spring Boot অ্যাপ্লিকেশনটি একটি RESTful API হিসেবে তৈরি হলে, আপনি একটি Controller লেয়ার ব্যবহার করবেন যেটি HTTP রিকোয়েস্ট গ্রহণ করে এবং Service লেয়ারের মাধ্যমে ডেটাবেস অপারেশন করে।
UserController.java:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@PostMapping
public User createUser(@RequestBody User user) {
return userService.saveUser(user);
}
@GetMapping("/{name}")
public User getUser(@PathVariable String name) {
return userService.getUserByName(name);
}
}
এই Controller দুটি এন্ডপয়েন্ট প্রদান করে:
POST /users: একটি নতুনUserতৈরি করে।GET /users/{name}:nameদ্বারাUserখুঁজে বের করে।
7. Running the Application
প্রজেক্টে HSQLDB কনফিগারেশন, Entity, Repository, Service এবং Controller তৈরি করার পর, আপনি Spring Boot অ্যাপ্লিকেশনটি রান করতে পারবেন।
Run the Application:
mvn spring-boot:run
অথবা IDE ব্যবহার করে Application.java ক্লাস রান করতে পারেন।
সারাংশ
HSQLDB এবং Spring Boot এর সংমিশ্রণটি দ্রুত এবং সহজভাবে ডেটাবেস অ্যাক্সেস এবং ম্যানিপুলেশন করতে সাহায্য করে। Spring Boot এবং Spring Data JPA এর মাধ্যমে HSQLDB তে ডেটাবেসের CRUD অপারেশন সহজভাবে করা সম্ভব। HSQLDB ডেটাবেসে Spring Boot অ্যাপ্লিকেশন সংযুক্ত করার জন্য একটি application.properties কনফিগারেশন ফাইল ব্যবহার করে ডেটাবেস কনফিগারেশন করা হয়, এবং ডেটাবেস অপারেশন করতে Spring Data JPA Repository ব্যবহার করা হয়।
Read more