Hibernate入門筆記_01_hibernate配置

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

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

     那麼HIbernate是怎麼實現對數據庫創建映射的呢? sql

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

   1、 創建映射配置文件(文件名稱跟位置不限): 編程

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

       

<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 app

     

    <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>

  注意引入映射文件的路徑。框架

 4、在hibernate 向數據庫寫入數據的時候會發生亂碼的狀況下做以下處理: url

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

相關文章
相關標籤/搜索