iBATIS (বর্তমানে MyBatis নামে পরিচিত) একটি জনপ্রিয় এবং শক্তিশালী Java persistence framework যা ডেটাবেসের সাথে সংযোগ এবং ডেটা ম্যানিপুলেশন সহজ করে। iBATIS / MyBatis হ্যান্ডল করে SQL স্টেটমেন্টগুলো এবং JDBC কোড লিখতে সাহায্য করে, এবং আপনি এটি ব্যবহার করতে পারেন জাভা কোডে SQL চালানোর জন্য।
Gradle হচ্ছে একটি জনপ্রিয় বিল্ড টুল যা প্রোজেক্ট ম্যানেজমেন্ট এবং ডিপেনডেন্সি ম্যানেজমেন্টকে সহজ করে তোলে। iBATIS/MyBatis এর জন্য Gradle কনফিগারেশন সেটআপ করা খুবই সহজ এবং দ্রুত।
এখানে, আমরা দেখাবো কিভাবে Gradle দিয়ে iBATIS (MyBatis) অন্তর্ভুক্ত করতে হয় এবং সঠিকভাবে সেটআপ করতে হয়।
Step 1: Gradle প্রোজেক্ট তৈরি করা
প্রথমে, একটি Gradle প্রোজেক্ট তৈরি করুন বা একটি বিদ্যমান প্রোজেক্টে iBATIS (MyBatis) অন্তর্ভুক্ত করুন। আপনি যদি নতুন প্রোজেক্ট তৈরি করেন, তবে build.gradle ফাইলটি সেটআপ করতে হবে।
build.gradle কনফিগারেশন:
Gradle প্রোজেক্টে iBATIS (MyBatis) অন্তর্ভুক্ত করতে, আপনাকে Gradle ডিপেনডেন্সি ব্লকে iBATIS বা MyBatis সম্পর্কিত লাইব্রেরি যুক্ত করতে হবে।
plugins {
id 'java'
id 'eclipse' // or 'idea' depending on your IDE
}
repositories {
mavenCentral()
}
dependencies {
// iBATIS / MyBatis Dependency
implementation 'org.mybatis:mybatis:3.5.10'
// JDBC driver (e.g., H2 for database)
implementation 'com.h2database:h2:1.4.200'
// If using MyBatis with Spring
implementation 'org.mybatis.spring:mybatis-spring:2.0.6'
// Logging (optional, for logging MyBatis operations)
implementation 'org.slf4j:slf4j-api:1.7.32'
implementation 'org.slf4j:slf4j-simple:1.7.32'
}
এখানে:
implementation 'org.mybatis:mybatis:3.5.10': এটি iBATIS (বর্তমানে MyBatis) এর মূল লাইব্রেরি ডিপেনডেন্সি।com.h2database:h2:1.4.200: এখানে H2 ডাটাবেসের ড্রাইভার যুক্ত করা হয়েছে (আপনার ব্যবহৃত ডাটাবেস অনুসারে এটি পরিবর্তন করতে পারেন)।
Additional Dependencies (Optional):
mybatis-spring: যদি আপনি Spring ব্যবহার করেন, তবে MyBatis এর Spring Integration লাইব্রেরি যুক্ত করতে পারেন।slf4j: MyBatis অপারেশন লগিং এর জন্য SLF4J যোগ করা।
Step 2: MyBatis কনফিগারেশন ফাইল তৈরি করা
MyBatis ব্যবহার করার জন্য একটি কনফিগারেশন ফাইল (mybatis-config.xml) তৈরি করতে হবে। এটি MyBatis এর কনফিগারেশন ধারণ করবে, যেমন ডাটাবেস কানেকশন, ট্রানজেকশন ম্যানেজমেন্ট, এবং মাইবেটিস সেশনের জন্য প্যারামিটার।
mybatis-config.xml Example:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- MyBatis Settings -->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true" />
<setting name="cacheEnabled" value="false" />
</settings>
<!-- DataSource Configuration -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="org.h2.Driver"/>
<property name="url" value="jdbc:h2:mem:test;DB_CLOSE_DELAY=-1"/>
<property name="username" value="sa"/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
<!-- Mapper Configuration -->
<mappers>
<mapper resource="com/example/mapper/EmployeeMapper.xml"/>
</mappers>
</configuration>
এখানে:
dataSource: ডাটাবেস সংযোগের জন্য H2 ডাটাবেসের ড্রাইভার এবং কানেকশন সেটআপ করা হয়েছে। এটি আপনার ডাটাবেসের জন্য পরিবর্তন করতে হবে।<mappers>: এখানেEmployeeMapper.xmlফাইলটি মাইবেটিস মেপারের জন্য একটি উদাহরণ।
Step 3: MyBatis Mapper ফাইল তৈরি করা
MyBatis Mapper ফাইল হল SQL স্টেটমেন্ট এবং তাদের মেপিং কনফিগারেশনের স্থান। এটি XML ফরম্যাটে লেখা হয় এবং আপনার জাভা অবজেক্টের সাথে SQL স্টেটমেন্টগুলো সংযুক্ত করতে ব্যবহৃত হয়।
EmployeeMapper.xml Example:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.EmployeeMapper">
<!-- SQL Query to get an employee by ID -->
<select id="getEmployeeById" resultType="com.example.model.Employee">
SELECT id, name, department
FROM employee
WHERE id = #{id}
</select>
<!-- SQL Query to insert a new employee -->
<insert id="insertEmployee" parameterType="com.example.model.Employee">
INSERT INTO employee (name, department)
VALUES (#{name}, #{department})
</insert>
</mapper>
এখানে:
<select>:getEmployeeByIdমেথডটিEmployeeঅবজেক্টকে SQL কুয়েরি থেকে রিটার্ন করে।<insert>:insertEmployeeমেথডটি নতুন কর্মচারী ডাটাবেসে সন্নিবেশ করে।
Step 4: Java Code to Use MyBatis
এখন, আপনি MyBatis সেশন ব্যবহার করে ডেটাবেসে কাজ করতে পারেন।
Java Class Example:
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.example.model.Employee;
public class EmployeeApp {
public static void main(String[] args) {
// Step 1: Build SqlSessionFactory from the configuration file
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder()
.build(EmployeeApp.class.getResourceAsStream("/mybatis-config.xml"));
// Step 2: Open a session
try (SqlSession session = sessionFactory.openSession()) {
// Step 3: Execute SQL query using the Mapper
EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
Employee employee = mapper.getEmployeeById(1);
System.out.println("Employee: " + employee);
// Step 4: Insert a new employee
Employee newEmployee = new Employee("Jane Doe", "HR");
mapper.insertEmployee(newEmployee);
session.commit(); // Commit transaction
} catch (Exception e) {
e.printStackTrace();
}
}
}
এখানে:
SqlSessionFactory: MyBatis কনফিগারেশন থেকে একটিSqlSessionFactoryতৈরি করা হচ্ছে।SqlSession: এটি ব্যবহার করে আপনি MyBatis Mapper মেথডগুলির মাধ্যমে ডেটাবেসের সাথে যোগাযোগ করেন।mapper.getEmployeeById(1)এবংmapper.insertEmployee(newEmployee): MyBatis Mapper ফাইলের মেথডগুলিকে কল করা হচ্ছে।
Step 5: Build and Run the Project
Gradle দিয়ে প্রোজেক্টটি কম্পাইল এবং রান করার জন্য নিচের কমান্ডগুলি ব্যবহার করুন:
# Build the project
gradle build
# Run the project
gradle run
এটি আপনার প্রোজেক্টটি বিল্ড করবে এবং আপনার EmployeeApp রান করবে।
এখন আপনি জানেন কিভাবে Gradle দিয়ে iBATIS (MyBatis) অন্তর্ভুক্ত করতে হয় এবং সেটআপ করতে হয়। এই প্রক্রিয়াতে:
- Gradle Dependency: iBATIS (MyBatis) এর জন্য ডিপেনডেন্সি কনফিগারেশন।
- MyBatis Configuration:
mybatis-config.xmlফাইল সেটআপ। - Mapper File:
EmployeeMapper.xmlফাইল তৈরি করা, যেখানে SQL কুয়েরি এবং তাদের মেপিং করা হয়। - Java Integration: Java কোডে MyBatis সেশন ব্যবহারের মাধ্যমে SQL কুয়েরি চালানো।
এগুলি আপনাকে iBATIS (MyBatis) ব্যবহার করতে সহায়ক হবে, এবং আপনার ডেটাবেস ম্যানিপুলেশন আরও কার্যকরী এবং মডুলার করবে।
Read more