hibernate架構環境搭建

來源:互聯網
上載者:User

標籤:資料庫連接   修改   session   儲存   factory   resource   uid   ddl   java類型   

一.概述:hibernate架構是作用於dao層的,實現對資料的持久化儲存.通過物件導向的方式操作資料庫.

二.hibernate架構的搭建

  1.導包

    lib目錄下的required檔案夾下的所有jar包.

    mysql驅動包.

  2.建立資料庫於表.

  3.建立實體類.

  4.建立實體對應檔(以crm練習Customer類為例)

    實體類名.hbm.xml

    引入約束檔案

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><!-- 根項目        package(可選):填寫包名.後面凡是需要完整類名的地方,都可以省略包名了. --><hibernate-mapping package="cn.itcast.domain" >    <!-- class:映射類與表的關係            name屬性:實體屬性名稱            table屬性:對應的表名     -->    <class name="Customer" table="cst_customer" >    <!-- id:映射主鍵屬性名稱(OID)與主鍵列對應關係            name屬性: OID名稱            column屬性(可選):主鍵列名,預設值就是name屬性值            length屬性(可選):指定屬性長度.預設值使用資料庫對應列長度            type屬性(可選):指定當前列(屬性)的類型.預設值會根據資料庫類型自動指定類型.                type="long"                hibernate類型                type="java.lang.Long"    java類型                <column name="cust_id" sql-type="bigint" ></column>  資料庫類型     -->        <id name="cust_id"  >            <!--主鍵建置原則         increment:hibernate每次儲存資料是,會查詢資料庫中最大的值,在最大值的基礎上加1作為新的主索引值(測試時使用)            identity:主鍵自增,有資料庫負責產生主索引值            sequence:序列,Oracle時使用            hilo:高低位演算法,適用於既不支援自增也不支援序列的庫(用不著)            native:identity|sequence|hilo自動三選一            uuid:主鍵類型為字串是使用.            assigned:有我們手動指定ID值        -->            <generator class="native"></generator>        </id>        <!-- property:映射非主鍵屬性名稱與非主鍵列對應關係            name屬性: 屬性名稱            column屬性(可選):非主鍵列名,預設值就是name屬性值            length屬性(可選):指定屬性長度.預設值使用資料庫對應列長度            type屬性(可選):指定當前列(屬性)的類型.預設值會根據資料庫類型自動指定類型.                type="long"                hibernate類型                type="java.lang.Long"    java類型                <column name="cust_id" sql-type="bigint" ></column>  資料庫類型     -->        <property name="cust_name" column="cust_name"  ></property>        <property name="cust_source" ></property>        <property name="cust_industry" column="cust_industry" ></property>        <property name="cust_level" column="cust_level" ></property>        <property name="cust_phone" column="cust_phone" ></property>        <property name="cust_mobile" column="cust_mobile" ></property>    </class></hibernate-mapping>

 

    建立主設定檔

      hibernate.cfg.xml(在src下)

<?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>        <!-- 以下都是為sessionFactory對象配置的 -->        <session-factory>        <!-- 必選配置                    //方言            //所有資料庫的sql語句都是基於SQL99標準的            //每個資料庫遵循SQL99標準的同時,也會擴充一部分SQL語句.這些標準之外的sql語句叫做方言   mysql方言: limit 0,5            //注意:mysql方言類一共有3個.一定要選最短的            #hibernate.dialect org.hibernate.dialect.MySQLDialect            //資料庫驅動            #hibernate.connection.driver_class com.mysql.jdbc.Driver            //資料庫連接url            #hibernate.connection.url jdbc:mysql:///test            //串連使用者名稱            #hibernate.connection.username gavin            //串連密碼            #hibernate.connection.password         -->            <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>            <property name="hibernate.connection.url">jdbc:mysql:///hibernate_54</property>            <property name="hibernate.connection.username">root</property>            <property name="hibernate.connection.password">1234</property>            <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>        <!-- 可選配置             //是否在控制台顯示hibernate產生的sql            hibernate.show_sql true            //是否對顯示到控制台的sql語句格式化            hibernate.format_sql true            //自動建表            # create(測試時使用)        :  自動建表,每次啟動hibernate的時候都會自動建表.            # create-drop(測試時使用)     :  自動建表,每次啟動hibernate的時候都會自動建表.釋放資源時會將所有表刪除.            # update(常用)    :  自動建表,有表就不會再建立,如果已經存在的表不完全符合.會自動修改表結構.            # validate        :  校正表結構.不會自動建表.每次hibernate啟動時都會檢查表結構是否正確.                                        //不正確=>拋出異常.        -->            <property name="hibernate.show_sql">true</property>            <property name="hibernate.format_sql">true</property>                        <property name="hibernate.hbm2ddl.auto">update</property>        <!-- 映射引入配置                 resource屬性:填寫引入對應檔的路徑. 相對於src目錄下.        -->            <mapping resource="cn/itcast/domain/Customer.hbm.xml" />        </session-factory>    </hibernate-configuration>

 

    

hibernate架構環境搭建

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.