• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Hibernate 框架(二)(下載及環境搭建)

    標簽: Hibernate  hibernate

    一、Hibernate下載

    1、通過下面網站進行下載:https://zh.osdn.net/,進入網站如下圖所示。

     

    2、單擊頁面頂部的導航欄中的“下載”,即可進入

    3、在搜索框中輸入hibernate,如下圖所示。

    4、單擊“搜索”按鈕,進入搜索結果界面,如下圖所示。

    5、單擊上圖中的超文本"Hibernate",進入與hibernate有關的頁面,如下圖所示。

    6、單擊“下載”選項卡,進入下載hibernat相關的頁面,并把頁面往下移直到看到如下圖所示的頁面。

    7、單擊“hibernae-orm”對象關系映射,即可看到各種版本的hibernet,如下圖所示。

    8、我們下載5.4.0Final這個版本,所以我們單擊“5.4.0Final”超文本即可出現如下圖所示。

     

    9、我們單擊“hibernate-release-5.4.0.Final.zip”這是在window下使用,而另外一個是在linux下使用。單擊擊即進入下載文件,如下圖所示。

     

    10、到此我們下載hibernate就結束了。并解壓它,如下圖所示。

     

     

     

    二、Hibernate的環境搭建與簡單示例

    1、創建一個web項目,如下圖所示 。

    2、在上面的對話框中輸入項目名:hibernatepro,然后單擊“Finish",

    2、單擊”next“,進入如下界面,如下圖所示。

    3、在上面對話框中選擇”Generate web.xml deployment descriptor“,然后單擊”Finish“完成項目的創建,如下圖所示 。

    4、我們進入Hibernate解壓目錄”G:\java2esoft\hibernate-release-5.4.0.Final\lib\required“如下圖所示。

    5、選擇所有的文件,并把它們復制到項目中的”WebContent\WEB-INF\lib",如下圖所示。

    6、把連接mysql數據庫的“mysql-connector-java-5.1.12-bin.jar”也復制到項目的“WebContent\WEB-INF\lib",如下圖所示。

    7、選擇“WebContent\WEB-INF\lib"目錄中所有的jar包,然后右單鼠標,彈出如下的菜單。

    8、單擊”Add to Build Path“命令完成把這些jar添加到類庫中。

    9、在項目中的src右單鼠標,在彈出的快捷菜單如下圖所示。

    10、選擇”new->Package“命令,并輸入”qin.com",如下圖所示。

    單擊“finish”完成數據包的創建,如下圖所示。

    11、在mysql中創建一個數據庫stsc,并在stsc數據庫中創建一個login數據表,表結構如下。

    并在數據表login中輸入一些記錄。如下圖所示。

    12、回到eclipse中并在數據包qin.com中創建數據表login的實體類,如下圖所示。

    Login.java實體類的代碼如下:

    package qin.com;
    
    
    public class Login {
    
    private int id;
    
    private String name;
    
    private String pass;
    
    public int getId() {
    
    return id;
    
    }
    
    public void setId(int id) {
    
    this.id = id;
    
    }
    
    public String getName() {
    
    return name;
    
    }
    
    public void setName(String name) {
    
    this.name = name;
    
    }
    
    public String getPass() {
    
    return pass;
    
    }
    
    public void setPass(String pass) {
    
    this.pass = pass;
    
    }
    
    }

    13、寫orm元數據(對象與表的映射配置文件 - XML格式),其格式為—— 類名.hbm.xml ,如Login.hbm.xml

    Login.hbm.xml完整代碼如下

     

     

    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    
    <!-- Generated 2018-4-25 9:28:38 by Hibernate Tools 3.4.0.CR1 -->
    
    <hibernate-mapping>
    
        <class name="qin.com.Login" table="login"> 
    <!-- name指的是持久類,table是我們數據表users -->
    
            <id name="id" type="java.lang.Integer"><!-- name是持久類的屬性id  -->
    
                <column name="id" /> <!-- name是users數據表的id字段  -->
    
                <generator class="assigned" /><!-- 表示字段是主關鍵字且是自動增量 -->
    
            </id>
    
            <property name="name" type="java.lang.String"><!-- name是持久類的屬性name -->
    
                <column name="name" /><!-- name是users數據表的name字段 -->
    
            </property>
    
            <property name="pass" type="java.lang.String"><!-- name是持久類的屬性pass -->
    
                <column name="pass" /><!-- name是users數據表的pass字段  -->
    
            </property>
    
        </class>
    
    </hibernate-mapping>

    14、在src目錄中寫主配置文件,它是hibernate框架核心配置文件。[核心配置文件],其格式為——hibernate.cfg.xml,如下圖所示。

    hibernate.cfg.xm完整代碼如下。

    <?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="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
    
    <!-- 數據庫url -->
    
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/stsc</property>
    
    <!-- 數據庫連接用戶名 -->
    
    <property name="hibernate.connection.username">root</property>
    
    <!-- 數據庫連接用戶名密碼 -->
    
    <property name="hibernate.connection.password">admin</property>
    
    <!-- 數據庫方言 -->
    
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    
    <!--  引入ORM元數據配置,即加載映射文件路徑填寫:src目錄下路徑-->
    
    <mapping resource="qin/com/Login.hbm.xml" /><!-- 這里不能寫為”qin.com.Login.hbm.xml“ -->
    
    </session-factory>
    
    </hibernate-configuration>

    15、寫代碼測試,在qin.com中創建一個類Test.java,如下圖所示 。

    Test.java文件的完整代碼如下。

    package qin.com;
    
    import org.hibernate.Session;
    
    import org.hibernate.SessionFactory;
    
    import org.hibernate.Transaction;
    
    import org.hibernate.cfg.Configuration;
    
    public class Test {
    
    public static void main(String[] args) {
    
    // 創建配置對象,并獲取配置文件信息
    
    Configuration config = new Configuration().configure();
    
    // 創建會話工廠
    
    SessionFactory sf = config.buildSessionFactory();
    
    // 創建事務
    
    Transaction t = null;
    
    // 創建會話
    
    Session session = null;
    
    try {
    
    session = sf.openSession();//通過會話工廠獲取會話
    
    t = session.beginTransaction();//通過會話創建事務
    
    Login user = new Login();//實例化實體類
    
    user.setName("lili");//為實體類對象的屬性賦值
    
    user.setPass("lili");
    
    // 添加數據
    
    session.save(user);
    
    // 提交事務
    
    t.commit();
    
    System.out.println("添加數據成功");
    
    } catch (Exception e) {
    
    if (t != null) {
    
    // 提交事務不成功要回滾
    
    t.rollback();
    
    }
    
    e.printStackTrace();
    
    } finally {
    
    if (session != null) {
    
    session.close();// 關閉會話
    
    }
    
    }
    
    }
    
    }

    若一切正常運行程序結果為“添加數據成功”。若看到這一結果說明我們對Hibernate的搭建與配置是正確的。

     

     

     

    版權聲明:本文為qq_42421212原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_42421212/article/details/105577021

    智能推薦

    HIbernate框架

    1.web內容的回顧              1.javaEE的三層結構                     (1)web層  struts2框架          ...

    Hibernate框架

    持久化類 java類與數據庫的表建立了映射關系,該類被稱為持久化類 1)、編寫規則 ①無參構造,使得Hibernate可通過反射建立對象 ②私有屬性,get/set方法 ③持久化類提供一個唯一標識OID與數據庫主鍵對應 ④持久化類屬性盡量使用包裝類(基本數據類型,默認值為0,有些歧義) ⑤持久化類不要使用final修飾(延遲加載需要繼承產生代理類,而final修飾的類不能繼承,即延遲加載失效) 2...

    Hibernate框架

    Hibernate是一個開放源代碼的對象關系映射框架(ORM),它對JDBC進行了非常輕量級的對象封裝,簡化了java應用程序與數據庫交互的開發。簡化了數據創建,數據處理和數據訪問。 ①面向對象操作:將對數據庫的操作轉換為對Java對象的操作。 ②數據庫獨立查詢:通過配置對應的數據庫“方言”,就可以根據不同類型的數據庫生成適合的SQL語句。 ③非侵入式:Hibernate不...

    Hibernate框架

    Hibernate框架 1、簡介 Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關系,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在S...

    Hibernate(二)

    為什么80%的碼農都做不了架構師?>>>    1. 對象的狀態 代碼 2. 一對多的單項關聯 2.1. 數據庫表和實體類關系 2.2. Classes映射文件中cascade、inverse、外鍵的配置 2.3. 代碼體現 2.4. 常見錯誤分析 3. hibernate基礎知識總結 轉載于:https://my.oschina.net/ilaoda/blo...

    猜你喜歡

    Hibernate(二)

    1. Hibernate的持久化類和對象標識符 1.1 持久化類的編寫規范 1.1.1 什么是持久化類 Hibernate是持久層的ORM映射框架,專注于數據的持久化工作。 持久化就是將內存中的數據永久存儲到關系型數據庫中。 持久化類指的是一個Java類與數據庫表建立了映射關系,那么這個類稱為是持久化類。其實你可以簡單的理解為持久化類就是一個Java類有了一個映射文件與數據庫的表建立了關系。 1....

    hibernate二

    一:主鍵生成策略 1、sequence 特點:只能在支持序列的數據庫中使用,如Oracle。 Hibernate生成主鍵時,查找sequence并賦給主鍵值,主鍵值由數據庫生成,Hibernate不負責維護,使用時必須先創建一個sequence,如果不指定sequence名稱,則使用Hibernate默認的sequence,名稱為hibernate_sequence,前提要在數據庫中創建該sequ...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    精品国产乱码久久久久久蜜桃不卡