首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Hibernate 入門實戰:從環境搭建到 CRUD 完整流程詳解

     編輯:Java 綜合教學

Hibernate 開發六大核心步驟

1. 創建項目並導入依賴

  • Hibernate 核心 JAR 包(注意版本與 JDK 兼容性,如 5.2+ 需 JDK 1.8+)
  • 數據庫驅動(MySQL: mysql-connector-java)

項目依賴結構

2. 設計持久化類

public class UserInfo {
    private int id;
    private String name;
    private String password;
    private String role;
    // 構造方法、Getter/Setter、toString()...
}

規範:無參構造器、私有屬性、公共訪問器、實現 Serializable(推薦)。

3. 編寫映射文件

<hibernate-mapping>
    <class name="net.togogo.pojo.UserInfo" table="t_user">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="increment" />
        </id>
        <property name="name" type="java.lang.String">
            <column name="name" length="20" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="password" length="20" />
        </property>
        <property name="role" type="java.lang.String">
            <column name="role" length="20" />
        </property>
    </class>
</hibernate-mapping>

4. 核心配置文件

<hibernate-configuration>
    <session-factory>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/hibernate_db</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
        <property name="show_sql">true</property>
        <mapping resource="net/togogo/pojo/userinfo.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

5. 封裝工具類

public class HibernateUtils {
    // 統一會話管理:獲取 Configuration → SessionFactory → Session → Transaction
    public static void save(Object obj) { /* ... */ }
    public static void deleteById(int id) { /* ... */ }
    public static void update(Object obj) { /* ... */ }
    public static Object findObjById(Class c, Serializable id) { /* ... */ }
}

關鍵流程: 開啟事務 → 面向對象操作 → 提交事務 → 關閉 Session。

6. 測試驗證

public class IDUQTest {
    @Test public void testSave() {
        UserInfo user = new UserInfo("lili", "123", "admin");
        HibernateUtils.save(user);
    }
    @Test public void testDelete() { HibernateUtils.deleteById(4); }
    @Test public void testUpdate() {
        UserInfo user = (UserInfo) HibernateUtils.findObjById(UserInfo.class, 3);
        user.setPassword("123456");
        HibernateUtils.update(user);
    }
}

Hibernate 運行核心流程

  1. 應用調用 Configuration 讀取配置與映射,構建 SessionFactory
  2. SessionFactory 創建 Session(線程不安全,請求級)
  3. Session 開啟 Transaction
  4. 通過 Session API 操作持久化對象
  5. 查詢場景可創建 Query 對象執行 HQL/SQL
  6. 提交事務持久化到數據庫
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved