ORM進階:Hibernate架構搭建及開發

來源:互聯網
上載者:User

標籤:har   調試   顯示   close   檔案配置   port   名稱   gets   roo   

    本節將開始。使用hibernate搭建持久層。當然在決定用不用之前,還請斟酌一下是否使用。瞭解一下Hibernate的優缺點。

 

    Hibernate優劣對照

 

   Hibernate是一個持久的ORM架構。首先要簡曆一個Java Project  這個就不用多說了吧。之後。我們來搭建Hibernate架構。

 

第一步:引入相關Jar包。包括兩部分,核心jar包(Hibernate_Home/hibernate3.jar)和相關包(Hibernate_Home/lib/*.jar)如。

 

    假設沒有,請去下載Hibernate。解壓之後

 

第二步:建立實體類*.java

package com.bjpowernode.hibernate;import java.util.Date;public class User {//主鍵private String id;//名稱private String name;//密碼private String password;//提供getter和setter方法public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

 

第三步:提供*.hbm.xml檔案,該檔案能夠說是實體產生表的設定檔。Hibernate會依據你寫的實體類和對應的對應檔產生資料庫表。

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping ><class name="com.bjpowernode.hibernate.User"><id name="id"><generator class="uuid"/></id><property name="name"/><property name="password"/><property name="createTime"/><property name="expireTime"/></class></hibernate-mapping>


 

第四步:提供hibernate.cfg.xml檔案,完畢主要的配置資訊。並將*.hbm.xml檔案配置進入。(能夠參考並改動成自己的)依據自己的需求進行取捨。

cfg.xml是整個Hibernate的入口配置

<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><!-- Hibernate要串連資料庫的驅動。(此處使用mysql的,假設使用的替他資料庫的,請上網尋找) --><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><!-- 指定串連資料庫的url,此處資料庫名為:hibernate_demo --><property name="hibernate.connection.url">jdbc:mysql:///hibernate_demo</property><!-- 資料庫的username與password --><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">root</property><!-- 資料庫的方言(用於將物件模型的儲存產生對應的sql語句) --><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!-- 該項為true,當與資料庫互動的時候,將在Console中列印 sql語句,方便學習 --><property name="hibernate.show_sql">true</property>        <!-- 指定串連池裡最大串連數 -->          <property name="hibernate.c3p0.max_size">20</property>          <!-- 指定串連池裡最小串連數 -->          <property name="hibernate.c3p0.min_size">1</property>          <!-- 指定串連池裡串連的逾時時間長度 -->          <property name="hibernate.c3p0.timeout">5000</property>          <!-- 配置此屬性,程式會依據須要自己主動建立表 -->          <property name="hbm2ddl.auto">update</property>          <!-- 顯示Hibernate持久化操作所產生的SQL -->          <property name="show_sql">true</property>          <!-- 將SQL指令碼進行格式化後再輸出 -->          <property name="hibernate.format_sql">true</property>        <!-- 列出每一個要映射的 類 --><mapping resource="com/bjpowernode/hibernate/User.hbm.xml"/></session-factory></hibernate-configuration>


 

    使用工具類。將已經產生的實體類,映射到資料庫中(產生資料庫表)

    假設使用了設定了<propertyname="hbm2ddl.auto">update</property> 那麼就不用寫工具類了。

 

    注意:資料庫須要手動建立。

 

Hibernate的一個特點,耦合性低,easy單元測試。所以最好建立一個單元測試類。測試一下代碼的連通性。

 

第五步:寫單元測試類。調試是否成功。也是檢驗代碼的品質

 

package com.bjpowernode.hibernate;import org.hibernate.Session;import junit.framework.TestCase;public class UserTest extends TestCase {public void testSave1(){Session session=null;try{session=HibernateUtils.getSession();//開啟事務session.beginTransaction();User user=new User();user.setName("張三");user.setPassword("123456");      //事務提交session.getTransaction().commit();}catch(Exception e){e.printStackTrace();//交易回復session.getTransaction().rollback();}finally{      //關閉SessionHibernateUtils.closeSession(session);}}}


 

    通過上面幾個步驟,將Hibernate的架構搭建起來。通過自測的方式逐步開發。Hibernate的核心就是OR的轉換。即編寫hbm對應檔。接下來,我們會在興許解說

 


 

ORM進階: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.