Hibernate(一)

Hibernate是一個開源的ORM框架,對JDBC進行了輕量級的封裝,可使用面向對象的思惟操做數據庫java

輕量級的JavaEE應用的持久層解決方案,關係型數據庫ORM框架mysql

操做Java對象,經過映射的關聯操做數據庫的表結構(對象屬性,數據庫字段 )sql

 

ORM(Object Relational Mapping)對象關係映射數據庫

O:JavaBeansession

R:表結構app

M:XML配置文件框架

經過操做對象的方式來操做數據庫的表結構dom

 

Hibernate的優勢:性能

一、對JDBC訪問數據庫的代碼進行了封裝,簡化了DAO層的重複性代碼ui

二、基於JDBC的主流映射框架,優秀的ORM實現,簡化了DAO層的編碼

三、性能好,輕量級框架,映射靈活,支持不少關係型數據庫,從一對多到多對多的各類複雜關係

 

入門

一、導包

(1)MySQL驅動包

mysql-connector-java

(2)Hibernate包 lib/required下

antlr

dom4j

geronime-jta

hibernate-commons-annotations

hibernate-core

hibernate-jpa

jandex

javaassist

jboss-logging

(3)日誌包

log4j(日誌實現)

slf4j(接口)

slf4j-log4j(橋樑 映射--XML配置文件 )

 

二、建表和JavaBean

用包裝類,屬性和字段一致

須要提早建表,hibernate能夠映射生成表結構,可是不能生成表

 

三、映射配置文件 hbm.xml

JavaBean有多少個就有多少映射文件hbm.xml,JavaBean和映射文件一一對應

(1)在JavaBean所在的包下建立映射的配置文件    類名.hbm.xml

xml配置文件引入約束,引入3.0,4.0不向下兼容

不能上網須要配置,關閉xml再次打開會有提示

(2)映射配置文件

<hibernate-mapping>
    <class name="com.guojie.domain.Customer" table="cst_customer">
        <!-- 配置id,其中name是JavaBean的屬性,column是表的字段 -->
        <id name="cst_id" column="cst_id">
            <!-- 主鍵生成策略 -->
            <generator class="native" />
        </id>

        <!-- 配置其餘屬性 -->
        <property name="cust_name" column="cust_name" />
    </class>
</hibernate-mapping>

 

四、核心配置文件cfg.xml

<hibernate-configuration>
    <!-- 一個數據庫對應一個sessionFactory -->
    <session-factory>
        <!-- 必須配置的參數5個:4大參數,方言 -->
        <property name="hibernate.connection.driver.class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql:///hibernate-demo</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.username">root</property>
        <!-- 數據庫方言 -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <!-- 映入配置映射文件 映射配置文件右鍵--路徑去掉com包以前的-->
        <mapping resource="com/guojie/domain/Customer.hbm.xml" />
    </sessionFactory>
</hibernamte-configuration>

 

五、入門程序

相關文章
相關標籤/搜索