程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Hibernate介紹和入門案例,hibernate入門案例

Hibernate介紹和入門案例,hibernate入門案例

編輯:JAVA綜合教程

Hibernate介紹和入門案例,hibernate入門案例


  一身轉戰三千裡,一劍曾當百萬師

  如果你在之前沒有學過SSH三大框架,那麼你之前肯定是通過JDBC來對數據庫進行操作.現在,你完全可以把跟數據庫交互的操作直接交給Hibernate.

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

  Hibernate是一個持久層的ORM框架。(ORM:Object Relational Mapping。對象關系映射。開發語言用的是Java,面向對象的(Object)。使用的數據庫是關系型數據庫(Relational)。就是將對象與數據庫中的表建立一種映射關系,操作對象就可以操作這個表。)

  了解了hibernate之後,是不是很期待呢?OK,我們來做一個Hibernate入門案例.

  第一步:下載Hibernate開發包.下載地址:https://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/

  第二步:下載完成並解壓後你可以看到如下目錄:

  第三步:接下來,進入eclipse創建web項目,並且引入必要的jar包,jar包在上面的lib/required目錄下

同時,還需要 數據庫驅動包 和 日志記錄的包 ,一個入門案例的完整項目的jar包如下圖:

  第四步:然後就是創建數據庫和表了,

建庫:

CREATE DATABASE hibernate      

建表:

CREATE TABLE `cst_customer` (

  `cust_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客戶編號(主鍵)',

  `cust_name` varchar(32) NOT NULL COMMENT '客戶名稱(公司名稱)',

  `cust_source` varchar(32) DEFAULT NULL COMMENT '客戶信息來源',

  `cust_industry` varchar(32) DEFAULT NULL COMMENT '客戶所屬行業',

  `cust_level` varchar(32) DEFAULT NULL COMMENT '客戶級別',

  `cust_phone` varchar(64) DEFAULT NULL COMMENT '固定電話',

  `cust_mobile` varchar(16) DEFAULT NULL COMMENT '移動電話',

  PRIMARY KEY (`cust_id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

  第五步:根據數據庫的表建實體類並生成get和set方法

public class Customer {

    private Long cust_id;

    private String cust_name;

    private String cust_source;

    private String cust_industry;

    private String cust_level;

    private String cust_phone;

    private String cust_mobile;

    //生成對應的get和set方法

}

  第六步:創建映射,映射文件通常有一個命名規則:類名.hbm.xml,映射文件放在和實體類同一個目錄下.創建映射文件首先要引入約束,這段代碼不用寫,到如下圖的位置復制過來:

打開Java Resources/Libraries/Web App Libraries

 打開hibernate-core-5.0.7.Final.jar/org.hibernate

在最下面找到並打開hibernate-configuration-3.0.dtd

復制如下面這段

接下來的配置看圖:

如果在寫配置文件的時沒網並且沒有提示的時候,那需要配置相關文件:

復制約束中的最後一段到浏覽器打開,就會自動下載一個dtd文件.

然後在eclipse中首選項裡找到如下圖:key是約束最後的一段,location是你剛下載的dtd文件的路徑,配置好了之後在沒網的情況下就會有提示了,如果還沒有就重啟一下.

 

   第七步:在src的目錄下創建Hibernate的核心配置文件:

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

    <session-factory>

        <!-- 連接數據庫的信息 -->

        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

        <property name="hibernate.connection.url">jdbc:mysql:///hibernate</property>

      <!-- 配置連接數據庫的用戶名和密碼-->

        <property name="hibernate.connection.username">root</property>

        <property name="hibernate.connection.password">123</property>

       

        <!-- 數據庫的方言:根據底層的數據庫生成不同的SQL -->

        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

        <!-- 配置顯示SQL -->

        <property name="hibernate.show_sql">true</property>

        <!-- 配置格式化SQL -->

        <property name="hibernate.format_sql">true</property>

        <!-- 配置hbm2ddl  

        hibernate.hbm2ddl.auto有幾個取值

        * none          :不使用映射轉成DDL。

        * create            :如果原來有表將原有的表刪除。每次都會新創建一個表。測試的時候使用。

        * create-drop   :如果原來有表將原有的表刪除。每次都會新創建一個表。執行完操作以後會將表刪除掉。測試的時候使用。

        * update            :如果數據庫中有表使用原來的表。如果沒有表會創建一個表。而且可以更新原有表結構。

        * validate      :不會創建表。校驗映射和表結構是否正確

   -->

        <property name="hibernate.hbm2ddl.auto">update</property>

       

        <!-- 加載映射文件 -->

        <mapping resource="com/hibernate/domain/Customer.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

 

第八步:編寫測試方法

public class HibernateDemo1 {

    @Test

    /**

     * 保存操作

     */

    public void demo1(){

        // 加載Hibernate的核心配置文件.

        Configuration configuration = new Configuration().configure();

        // 創建一個SessionFactory的對象.

        SessionFactory sessionFactory = configuration.buildSessionFactory();

        // 創建Session(相當於JDBC中的Connection)

        Session session = sessionFactory.openSession();

        // 開啟事務:

        Transaction transaction = session.beginTransaction();

        // 完成操作:

        Customer customer = new Customer();

        customer.setCust_name("某某某");

    //保存的方法

        session.save(customer);

        // 提交事務

        transaction.commit();

        // 釋放資源

        session.close();

    }

}

執行方法,就可以在數據庫添加記錄了.......

到此為止,你已經入門了hibernate.加油吧.明天會更好.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved