JAVA:IDEA使用Hibernate(2)


 

1、打開IDEA新建項目

勾選Hibernate、勾選下方生成相關配置和類

下方選擇Download,如果使用本地已經下載的包則選擇 Use Library ,路徑選到包里面的require里導入即可

 

2、添加mysql類庫支持

File ——> Project Structure ——> Libraries ——> + ——>搜索類庫確認ok即可

這里使用mysql-connector-java

 

3 IDEA連接mysql數據庫

IDEA右側toolbar里面選擇Database——> +——>mysql

 

填寫數據庫信息,即可連接上數據庫;注意:如果是首次使用 : Test Connection 是灰色的,在面板最下面點擊 Download支持庫即可測試連接

 

4、創建包

點擊項目的src——>  右鍵新建Package ——> 輸入包名稱 com.practice.data ; 並且分別通過工程上面的toolbar創建兩個子包entities、utils;注意路徑都在 com.practice.data下面

右鍵main.java——> Refactor——>Rename ——> 重命名為HibernateSessionFactory,拖入utils

 

5、自動根據已經存在的數據庫表生成Hibernate實體與xml

Persistence

 

如下配置ok生成,然后查看我們的entities包已經生成了對應文件

 

打開hibernate.cfg.xml如下:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="connection.url">jdbc:mysql://localhost:3306/only_rls</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <!-- <property name="connection.username"/> -->
        <!-- <property name="connection.password"/> -->
        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">4</property>

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

        <!-- Enable Hibernate's automatic session context management -->
        <property name="current_session_context_class">thread</property>

        <!-- Disable the second-level cache  -->
        <!--<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>-->
        <!--以格式良好的方式顯示SQL語句-->
        <property name="format_sql">true</property>
        <!-- 控制台顯示SQL語句 -->
        <property name="show_sql">true</property>

        <!-- Drop and re-create the database schema on startup -->
        <!-- DB schema will be updated if needed 自動更新數據庫-->
        <property name="hbm2ddl.auto">update</property>
        <mapping class="com.practice.data.entities.RlsUserEntity"/>
        <mapping resource="com/practice/data/entities/RlsUserEntity.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

 

 

Hibernate常用類

SessionFactory

配置對象被用於創造一個 SessionFactory 對象,使用提供的配置文件為應用程序依次配置 Hibernate,並允許實例化一個會話對象。SessionFactory 是一個線程安全對象並由應用程序所有的線程所使用。

SessionFactory 是一個重量級對象所以通常它都是在應用程序啟動時創造然后留存為以后使用。每個數據庫需要一個 SessionFactory 對象使用一個單獨的配置文件。所以如果你使用多種數據庫那么你要創造多種 SessionFactory 對象。

 

Session

一個會話被用於與數據庫的物理連接。Session 對象是輕量級的,並被設計為每次實例化都需要與數據庫的交互。持久對象通過 Session 對象保存和檢索。

Session 對象不應該長時間保持開啟狀態因為它們通常情況下並非線程安全,並且它們應該按照所需創造和銷毀。

 

Transaction

一個事務代表了與數據庫工作的一個單元並且大部分 RDBMS 支持事務功能。在 Hibernate 中事務由底層事務管理器和事務(來自 JDBC 或者 JTA)處理。

這是一個選擇性對象,Hibernate 應用程序可能不選擇使用這個接口,而是在自己應用程序代碼中管理事務。


Query 對象

Query 對象使用 SQL 或者 Hibernate 查詢語言(HQL)字符串在數據庫中來檢索數據並創造對象。一個查詢的實例被用於連結查詢參數,限制由查詢返回的結果數量,並最終執行查詢。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM