برنامه نویسی

hibernate 6 crud operations – DEV Community

گام :
ایجاد پروژه maven

توضیحات تصویر

توضیحات تصویر

توضیحات تصویر

توضیحات تصویر

مرحله 2: ویرایش pom.xml

افزونه کامپایلر maven را اضافه کنید

وابستگی های hibernate-core، lombok، mysql-connector-java maven را اضافه کنید

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.test</groupId>
    <artifactId>Hibernate6CRUD</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>Hibernate6CRUD</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.9</maven.compiler.source>
        <maven.compiler.target>1.9</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-core -->
        <dependency>
            <groupId>org.hibernate.orm</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>6.2.0.Final</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.0.32</version>
        </dependency>

    </dependencies>
</project>

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: ساختار دایرکتوری

مرحله 4: ایجاد موجودیت
Student.java

package com.test.entity;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "sttab")
public class Student {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer sid;

    private String sname;

    private String sadd;
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 5: HibernateUtil.java

توضیحات تصویر

package com.test.util;

import java.util.Properties;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment;

import com.test.entity.Student;

public class HibernateUtil {
    static SessionFactory factory = null;
    static {
        Configuration cfg = new Configuration();
        Properties props = new Properties();
        props.put(Environment.URL, "jdbc:mysql://localhost:3306/new");
        props.put(Environment.USER, "root");
        props.put(Environment.PASS, "root");
        props.put(Environment.SHOW_SQL, true);
        props.put(Environment.FORMAT_SQL, true);
        props.put(Environment.HBM2DDL_AUTO, "update");

        cfg.setProperties(props);
        cfg.addAnnotatedClass(Student.class);
        factory = cfg.buildSessionFactory();

    }
    public static SessionFactory getSessionFactory() {
        return factory;
    }

    public static Session getSession() {
        return factory.openSession();
    }
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 6: Insert.java

package com.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.test.entity.Student;
import com.test.util.HibernateUtil;

public class Insert {
    public static void main(String[] args) {

        SessionFactory factory = HibernateUtil.getSessionFactory();
        Session ses = HibernateUtil.getSession();
        try(factory;ses){
            //begin the transaction
            ses.beginTransaction();

            //create student objs
            Student st1 = new Student("sam","mumbai");
            Student st2 = new Student("jhon","pune");
            Student st3 = new Student("brock","nagpur");

            //save
            ses.persist(st1);
            ses.persist(st2);
            ses.persist(st3);

            //commit transaction
            ses.getTransaction().commit();

        }catch(Exception e) {
            e.printStackTrace();
        }
    }
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Insert.java را اجرا کنید

خروجی کنسول را به صورت زیر خواهید دید

توضیحات تصویر

جدول در طرح جدید mysql به صورت زیر ایجاد می شود

توضیحات تصویر

مرحله 7: Retrive.java

برای بازیابی دانش آموز با شناسه

package com.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.test.entity.Student;
import com.test.util.HibernateUtil;

public class Retrive {
    public static void main(String[] args) {
        SessionFactory factory = HibernateUtil.getSessionFactory();
        Session ses = HibernateUtil.getSession();
        try(factory;ses){
            Student st = ses.get(Student.class, 1);
            System.out.println("emp with id 1 info "+st);
        }catch(Exception e) {
            e.printStackTrace();
        }
    }
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

مرحله 8: RetriveAll.java

package com.test;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.test.entity.Student;
import com.test.util.HibernateUtil;

public class RetriveAll {
    public static void main(String[] args) {
        SessionFactory factory = HibernateUtil.getSessionFactory();
        Session ses = HibernateUtil.getSession();
        try(factory;ses){
            //select * from sttab
            List<Student> list= ses.createQuery("from Student",Student.class).getResultList();
            list.forEach(System.out::println);
        }catch(Exception e) {
            e.printStackTrace();
        }
    }
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خروجی کنسول

توضیحات تصویر

مرحله 9: Update.java

به روز رسانی یک رکورد

package com.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.test.entity.Student;
import com.test.util.HibernateUtil;

public class Update {
    public static void main(String[] args) {
        SessionFactory factory = HibernateUtil.getSessionFactory();
        Session ses = HibernateUtil.getSession();
        try(factory;ses){
            //begin treansaction
            ses.beginTransaction();

            Student st = ses.get(Student.class, 1);
            st.setSadd("Delhi");
            ses.getTransaction().commit();
        }catch(Exception e) {
            e.printStackTrace();
        }
    }
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

قبل از بروز رسانی

توضیحات تصویر

پس از به روز رسانی

توضیحات تصویر

خروجی کنسول

توضیحات تصویر

مرحله 10: Delete.java

package com.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.test.entity.Student;
import com.test.util.HibernateUtil;

public class Delete {
    public static void main(String[] args) {
        SessionFactory factory = HibernateUtil.getSessionFactory();
        Session ses = HibernateUtil.getSession();
        try(factory;ses){
            //begin transaction
            ses.beginTransaction();

            //get the student
            Student st = ses.get(Student.class, 3);

            //delete student
            ses.remove(st);

            //commit transaction
            ses.getTransaction().commit();
        }catch(Exception e) {
            e.printStackTrace();
        }
    }
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

جدول قبل از حذف

توضیحات تصویر

پس از حذف

توضیحات تصویر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا