入門 03 - 配置文件

Hibernate可以使用XML或屬性檔案來配置SessionFactory,預設的配置文件名稱為hibernate.cfg.xml或hibernate.properties。

 上一個主題中所示範的為使用XML文件的方式,一個XML文件的例子如下:

hibernate.cfg.xml
<?xml version='1.0' encoding='big5'?>
<!DOCTYPE hibernate-configuration
    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- 顯示實際操作資料庫時的SQL -->
        <property name="show_sql">true</property>
        <!-- SQL方言,這邊設定的是MySQL -->
        <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
        <!-- JDBC驅動程式 -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <!-- JDBC URL -->
        <property name="connection.url">jdbc:mysql://localhost/HibernateTest</property>
        <!-- 資料庫使用者 -->
        <property name="connection.username">caterpillar</property>
        <!-- 資料庫密碼 -->
        <property name="connection.password">123456</property>

        <!-- 物件與資料庫表格映射文件 -->
        <mapping resource="onlyfun/caterpillar/User.hbm.xml"/>
        <mapping resource="onlyfun/caterpillar/Item.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

 使用XML文件進行配置時,可以在當中指定物件與資料庫表格的映射文件位置,XML配置文件的位置必須在CLASSPATH的設定中,例如單機執行時主程式的位置,或是Web程式的WEB-INF/classes中,我們使用下面的方式來讀入XML文件以配置Hibernate:

SessionFactory sf = new Configuration().configure().buildSessionFactory();

 Configuration表示Java物件與資料庫表格映射的集合,並用於之後建立SessionFactory,之後Configuration就不再有作用。預設的XML文件名稱是hibernate.cfg.xml,您也可以指定文件的名稱,例如:

SessionFactory sf = new Configuration()
    .configure("db.cfg.xml")
    .buildSessionFactory();

 除了使用XML文件進行配置,我們也可以使用屬性檔案進行配置,檔案名稱是hibernate.properties,一個例子如下:

hibernate.properties
hibernate.show_sql = true
hibernate.dialect = net.sf.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql://localhost/HibernateTest
hibernate.connection.username = caterpillar
hibernate.connection.password = 123456

 hibernate.properties的位置必須在CLASSPATH的設定中,例如單機執行時主程式的位置,或是Web程式的WEB-INF/classes中,而為了要取得物件至資料庫表格的映射文件,我們必須在程式中如下載入:

Configuration cfg = new Configuration()
    .addClass(onlyfun.caterpillar.User.class)
    .addClass(onlyfun.caterpillar.Item.class);

 這麼一來,程式會自動載入onlyfun/caterpillar/User.hbm.xml與onlyfun/caterpillar/Item.hbm.xml,完成Hibernate配置之後,我們可以如下取得SessionFactory:

SessionFactory sessions = cfg.buildSessionFactory();

 其它更多有關Hibernate配置的細節,您可以查看Hibernate參考手冊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值