hibernate入門

1首先在數據庫中建立一個用戶表User(我推薦剛起步的時候這樣起名字,因爲它會和你接下來的類名相同,減少出錯誤的可能性)
這裏寫圖片描述
2我這裏用的是idea,但是你用其他IDE也一樣,沒有關係。建立一個User類。

public class User {
    private int userId;
    private String userName;
    private String password;

    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

3然後開始建立hibernate的配置文件。
首先建立orm文件(就是把你建立的User類和數據庫中的User表關聯起來)
這個文件可以隨便起名字,但爲了規範(也就是別人看的懂)一般都是 類名+hbm.xml.
所以我們這裏User的映射文件名爲: User-hbm.xml
然後開始寫配置文件。這裏我強調一下,大家千萬不要不太多的精力放在配置文件上,因爲對於初學者這個並不是很重要,即使對於開發多年的老手或者高手他們也不會對配置文件很瞭解,他們也是碰到來問題然後去解決,只不過他們的解決辦法是看文檔,新手是靠百度。所以我也不會講太多,大家直接把我這個複製下來就可以了。

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

任何配置文件都要有這個開頭。我建議大家在寫配置文件的時候用那些比較智能的,就是寫的時候會把標籤提示給你,因爲這樣會減少出錯的可能性。(再強調一遍,hibernate的重點不是配置文件)

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="model">
<!--  配置信息-->

</hibernate-mapping>

這裏寫圖片描述
我擔心不能把顏色顯示出來所以我把圖片上傳了。

<hibernate-mapping package="model">
<!--  配置信息-->

</hibernate-mapping>

model就是根標籤(沒有爲什麼,規定就是這樣),裏面有一個package屬性,就是寫你類的包名(這個包名可以寫在這裏,接下來寫全類名的時候,你就寫類名就可以了,不用加包名)。如果你這裏沒寫package這個屬性也沒事,在下面寫包名的時候寫全類名就可以了。

class
hibernate-mapping的下一個標籤就是class標籤,看名字就可以猜到,接下來我們要寫類的一些信息了。
類的第一個屬性當然就是類名了,因爲我們前面已經指定來包名,所以這裏直接寫User就可以了。當然也需要下這個類所映射的表名,當然也是User了。

每一張表中都有主鍵,也就是id。所以id這個標籤是用來指定id的。
name屬性是類中的字段的名稱。也就是User 中的private int userId這個變量。
所以name=”userId”

cloumn屬性User表中對應的字段,當然也是userId(當時我們爲了減少出錯的可能性全部用來相同的名字,其實在實際開發中也是儘量用相同的名字)

type類型:就是###類###中數據的類型

因爲我們這裏id是int類型,爲了方便我們希望id以自增的方式,所以又加了一個 generator 標籤,它的class值爲increment。

除了id之外其他字段全部用property標籤,它和id大同小異,也是寫column,name,type這三個屬性值。
這裏我就不再重複講了.

好了,orm文件寫完來,接下來就是hibernate的配置文件。
建議大家起的名字爲 hibernate-cfg.xml 很直觀,就是hibernate config的縮寫嘛。

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- Database connection settings -->
        <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
        <property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
        <property name="connection.username">sa</property>
        <property name="connection.password"></property>

        <mapping resource="mapping/User-hbm.xml"/>

    </session-factory>

</hibernate-configuration>

開始標籤就是hibernate-configuration這沒什麼可以講的。
接下來就是session-factory:如何理解session-facotry呢,其實它就是一個連接工廠,在jdbc裏面連接是Connection,在hibernate裏面連接時Session。
在yongjdbc連接的時候,我們需要加載jdbc驅動,用戶名,密碼,url同樣在這裏也需要這些的加載。
當然加載完這些之後,我們需要將映射文件也配置進去。

也就是mapping標籤,我們這裏只有一個映射文件,因此只寫一個mapping。

好了,現在貌似基本都完了,我們來實踐一下吧。

        Configuration configuration=new Configuration();
        configuration.configure("hibernate-cfg.xml");
        SessionFactory sessionFactory=configuration.buildSessionFactory();
        User user=new User();
        user.setUserName("liu");
        Session session=sessionFactory.openSession();
        Transaction transaction=session.beginTransaction();
        session.save(user);
        transaction.commit();

解釋一下這段代碼,Configuration就是配置,SessionFactory就是鏈接工廠,Session就是連接,Transaction就是事物,學過數據庫事物有一個特點就是要麼全部執行成功,要麼全部都不成功。
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章