Hibernate

Hibernate是一種ORM框架,全稱爲 Object_Relative DateBase-Mapping,在Java對象與關係數據庫之間建立某種映射,以實現直接存取Java對象!

O代表的是Objcet
R代表的是Relative
M代表的是Mapping

在這裏插入圖片描述

當插入數據的時候,就將JavaBean對象拆分,拼裝成SQL語句
當查詢數據的時候,用SQL把數據庫表中的列組合,拼裝成JavaBean對象

也就是說:javaBean對象和數據表中的列存在映射關係!如果程序能夠自動生成SQL語句就好了…那麼Hibernate就實現了這個功能!

簡單來說:我們使用Hibernate框架就不用我們寫很多繁瑣的SQL語句,從而簡化我們的開發。

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="student")
public class Student {
	
	@Id
	@Column(name="id")
	private int id;
	
	@Column(name="first_Name")
	private String firstName;
	
	@Column(name="last_Name")
	private String lastName;
	@Column(name="email")
	private String email;
	public Student() {
		
	}
	public Student(String firstName, String lastName, String email) {
		super();
		this.firstName = firstName;
		this.lastName = lastName;
		this.email = email;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	@Override
	public String toString() {
		return "Student [id=" + id + ", firstName=" + firstName + ", lastName=" + lastName + ", email=" + email + "]";
	}
	
}
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.luv2code.hibernate.demo.entity.Student;
public class CreateStudentDemo {

	public static void main(String[] args) {
		//create session factory
		SessionFactory factory = new Configuration()
				.configure("hibernate.cfg.xml")
				.addAnnotatedClass(Student.class)
				.buildSessionFactory();
		//create session		
		Session session = factory.getCurrentSession();
		try {
			// use the session object to save java object
			System.out.println("Creating new student obj...");
			Student tempStudent = new Student("Vin","WAll","Vin@163");
			//create a student object
			session.beginTransaction();
			//start a transaction
			System.out.println("Saving the Student...");
			session.save(tempStudent);
			//commit transaction
			session.getTransaction().commit();
			System.out.println("Done");		
		}
		finally {
			factory.close();
		}
		
	}

}

在這裏插入圖片描述

SessionFactory

SessionFactory–>Session的工廠,也可以說代表了hibernate.cfg.xml這個文件…hibernate.cfg.xml的就有這麼一個節點
openSession方法:創建一個Session對象
getCurrentSession方法:創建Session對象或取出Session對象

Session

Session是Hibernate最重要的對象,Session維護了一個連接(Connection),只要使用Hibernate操作數據庫,都需要用到Session對象

Reference:

https://www.cnblogs.com/mq0036/p/8522150.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章