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

Hibernate 3.3.2 註解版入門實戰:從環境搭建到第一個持久化類

     編輯:Java 相關知識

前言

Hibernate 作為 Java 持久化領域的經典框架,其 3.3.2 版本引入了對註解的完整支援,極大地簡化了映射配置。本文將手把手帶你完成開發環境搭建、實體類編寫、映射配置以及測試驗證的全流程,助你快速上手 Hibernate 核心開發。

一、開發環境準備

1.1 核心套件下載

  • Hibernate Distribution 3.3.2.GA:官網下載完整發布包
  • Hibernate Annotations 3.4.0.GA:註解支援包
  • SLF4J 1.5.8:日誌門面實現,此處採用 slf4j-nop-1.5.8.jar 靜默輸出
  • MySQL Connector/J:資料庫驅動程式

1.2 MyEclipse 專案建立與 JAR 導入

建立一個標準 Java 專案,將以下 JAR 加入建構路徑:

  • hibernate3.jar(核心包)
  • lib/required 目錄下所有 JAR
  • slf4j-nop-1.5.8.jar
  • MySQL 驅動 JAR

專案 JAR 依賴結構

二、資料庫與表結構建立

在 MySQL 中建立名為 hibernate 的資料庫,並執行以下 SQL 建立測試表:

CREATE TABLE student (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT
);

三、實體類編寫

建立 com.fengpeng.model.Student 類,採用標準 JavaBean 規範:

public class Student {
    private int id;
    private String name;
    private int age;

    // Getter / Setter 方法省略
}

四、Hibernate 映射配置文件

4.1 Student.hbm.xml

雖然使用註解版,但傳統 XML 映射仍具參考價值:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping SYSTEM "https://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.fengpeng.model">
    <class name="Student">
        <id name="id"></id>
        <property name="name"></property>
        <property name="age"></property>
    </class>
</hibernate-mapping>

4.2 hibernate.cfg.xml 核心配置

此文件配置資料庫連線、方言、連線池及映射資源:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "https://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- 資料庫連線設定 -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
        <property name="connection.username">root</property>
        <property name="connection.password">rootroot</property>
        <property name="connection.pool_size">2</property>

        <!-- SQL 方言 -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <!-- 關閉二級快取 -->
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- 顯示 SQL -->
        <property name="show_sql">true</property>

        <!-- 映射文件 -->
        <mapping resource="com/fengpeng/model/Student.hbm.xml" />
    </session-factory>
</hibernate-configuration>

五、測試驗證

編寫測試類 Test,執行保存操作:

public class Test {
    public static void main(String[] args) {
        Session session = new Configuration()
            .configure()
            .buildSessionFactory()
            .openSession();

        Student student = new Student();
        student.setId(2);
        student.setName("wang");
        student.setAge(2);

        session.save(student);
        session.beginTransaction().commit();
        session.close();
    }
}

六、結果驗證

控制檯輸出:

Hibernate: insert into Student (name, age, id) values (?, ?, ?)

表示資料已成功插入資料表。至此,Hibernate 3.3.2 註解版基礎環境搭建與首個持久化操作完成。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved