1. 程式人生 > >Hibernate入門筆記_01_hibernate配置

Hibernate入門筆記_01_hibernate配置

ati ron 文件的 orm框架 輕量級 column hibernate pojo 對象

Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關系,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任

Hiberante 很重要的一個思想是ORM ——(Object Relation Mapping) .顧名思義

那麽HIbernate是怎麽實現對數據庫建立映射的呢?

XML : 通過配置Xml 文件來實現對數據庫表建立映射。

一、 建立映射配置文件(文件名稱跟位置不限):

引入約束: (DTD or Schema) 這裏引入DTD 約束, 約束鏈接: http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd

<hibernate-mapping>
          <!--1 配置類和表對應 
              class 標簽
              name 屬性  實體類全路徑
              table 屬性   數據庫表名稱
           
--> <class name="com.daxiong.entity.User" table="t_user"> <!-- 2 配置實體類的id 跟表的id 對應 hibernate 要求實體類有一個屬性唯一值 hibernate 要求表有字段作為唯一值 --> <!-- id 標簽 name 屬性實體類裏面id 屬性名稱 column 生成表字段名稱
--> <id name="id" column="id"> <!-- 生成的增長策略 native :生成表自動增長 --> <generator class="native"></generator> </id> <!-- 配置其他屬性和表字段對應 --> <property name="username" column="username"></property> <property name="password" column="password"></property> </class> </hibernate-mapping>

二 、 建立核心配置文件(位置名稱限制(在src 文件下,名稱為hibernate.cfg.xml)):

引入約束鏈接:http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd

    <hibernate-configuration>
         <session-factory>
         <!-- 配置數據庫信息 -->
                   <property name="hibernate.connection.driver_class"></property>
                   <property name="hibernate.connection.url"></property>
                   <property name="hibernate.connection.username"></property>
                   <property name="hibernate.connection.password"></property>
                   
                   <!-- hibernate配置    (非必須)-->
                   <!-- 輸出底層的sql語句 -->
                   <property name="hibernate.show_sql">true</property>
                   <!-- 對sql語句進行格式化 -->
                   <property name="hibernate.format_sql">true</property>
                   <!-- hibernate配置後自動創建表
                               如果已經有表更新 沒有創建
                    -->
                   <property name="hibernate.hbm2ddl.auto">update</property>
                   <!-- 配置數據庫方言
                           在 mysql 裏實現分頁關鍵字limit 只能在MySQL中使用
                            在Oracle中 實現分頁rownum
                            在hibernate 中識別不同數據的特有語言
                    -->
                   <property name="hibernate.dialec">org.hibernate.dialect.MckoiDialect</property>
                   <!-- 引入映射文件 -->
                   <mapping resource="com/daxiong/entity/Userhtb.xml" />
         </session-factory>
    </hibernate-configuration>

註意引入映射文件的路徑。

四、在hibernate 向數據庫寫入數據的時候會發生亂碼的情況下作如下處理:

jdbc:mysql:///hibernate?useUnicode=true&amp;characterEncoding=utf-8

Hibernate入門筆記_01_hibernate配置