Hibernate持久层框架简述(Hibernate持久层框架入门概述)

原创
ithorizon 6个月前 (10-20) 阅读数 17 #后端开发

Hibernate持久层框架简述

一、Hibernate简介

Hibernate是一个开源的对象关系映射(ORM)框架,它对JDBC进行了封装,将Java对象映射到数据库中的表,简化了数据库操作。Hibernate的出现让Java开发者能够更加专注于业务逻辑的实现,而无需过多关注数据库层面的细节。本文将简要介绍Hibernate持久层框架的基本概念、核心组件以及入门使用方法。

二、Hibernate核心概念

Hibernate的核心概念重点包括以下几点:

  • 对象关系映射(ORM):将Java对象与数据库表进行映射,让操作Java对象就像操作数据库表一样易懂。
  • 持久化:将对象状态保存到数据库中,以便在程序运行过程中能够持久保存。
  • 会话(Session):Hibernate操作数据库的入口,用于管理对象的持久化操作。
  • 事务(Transaction):保证数据的一致性和完整性,确保多个操作要么全部成就,要么全部挫败。
  • 缓存(Cache):尽大概减少损耗数据库访问效能,减少数据库访问次数。

三、Hibernate核心组件

Hibernate的核心组件包括以下几个部分:

  • 配置文件(hibernate.cfg.xml):用于配置Hibernate的运行环境,如数据库连接信息、映射文件路径等。
  • 映射文件(*.hbm.xml):定义Java对象与数据库表的映射关系。
  • 持久化类:Java对象,与数据库表进行映射。
  • 会话工厂(SessionFactory):用于创建会话(Session)对象,是单例模式。
  • 会话(Session):用于执行CRUD操作,如保存、更新、删除、查询等。
  • 事务(Transaction):用于管理会话中的多个操作。

四、Hibernate入门使用

下面将通过一个易懂的例子,介绍Hibernate的入门使用方法。

1. 创建项目并添加依存

首先,创建一个Java项目,然后添加Hibernate所需的依存,包括Hibernate核心包、数据库驱动包等。以下是一个典型的pom.xml配置文件:

<dependencies>

<dependency>

<groupId>org.hibernate</groupId>

<artifactId>hibernate-core</artifactId>

<version>5.4.12.Final</version>

</dependency>

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>8.0.22</version>

</dependency>

</dependencies>

2. 配置Hibernate

在项目中创建一个名为hibernate.cfg.xml的配置文件,配置数据库连接信息、映射文件路径等。以下是一个典型的配置文件示例:

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>

<property name="connection.url">jdbc:mysql://localhost:3306/hibernate_db?serverTimezone=UTC</property>

<property name="connection.username">root</property>

<property name="connection.password">123456</property>

<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>

<property name="show_sql">true</property>

<property name="hbm2ddl.auto">update</property>

<mapping resource="com/example/domain/User.hbm.xml"/>

</session-factory>

</hibernate-configuration>

3. 创建持久化类和映射文件

创建一个名为User的持久化类,对应数据库中的user表。同时创建User.hbm.xml映射文件,定义持久化类与数据库表的映射关系。

持久化类User:

package com.example.domain;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

@Entity

public class User {

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

private Integer id;

private String name;

private String email;

// 省略getter和setter方法

}

映射文件User.hbm.xml:

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

<class name="com.example.domain.User" table="user">

<id name="id" column="id">

<generator class="native"/>

</id>

<property name="name" column="name"/>

<property name="email" column="email"/>

</class>

</hibernate-mapping>

4. 编写测试代码

编写一个测试类,创建SessionFactory,然后通过Session进行数据库操作。

package com.example.test;

import com.example.domain.User;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

public class HibernateTest {

public static void main(String[] args) {

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

Session session = sessionFactory.openSession();

session.beginTransaction();

User user = new User();

user.setName("张三");

user.setEmail("zhangsan@example.com");

session.save(user);

session.getTransaction().commit();

session.close();

sessionFactory.close();

}

}

五、总结

Hibernate作为一个优秀的ORM框架,大大简化了Java开发者的数据库操作。通过本文的介绍,相信读者已经对Hibernate有了基本的了解。当然,Hibernate还有很多高级特性,如缓存、事务管理、相关性映射等,需要进一步学习和掌握。期待本文能够为读者的Hibernate学习之路提供一个良好的起点。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: 后端开发


热门