溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行spring hibernate的集成

發(fā)布時間:2021-10-27 09:45:06 來源:億速云 閱讀:125 作者:柒染 欄目:編程語言

如何進行spring hibernate的集成,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Hibernate有很多值得學習的地方,這里主要介紹Spring Hibernate,包括介紹集成Sample等方面。

一.介紹

最近我參與了北美一家銀行的審計系統(tǒng)的后臺軟件設計和開發(fā)工作,除了使用Web Service以外,我們集成了Spring和Hibernate,通過Spring的HibernateTemplate實現(xiàn)了對數(shù)據(jù)庫數(shù)據(jù)的存取。眾所周知Hibernate是一種廣泛應用的一種強大的數(shù)據(jù)持久層技術, 另一方面Spring作為支持IOC的依賴注入框架, 其優(yōu)點是能夠非常好地集成大多數(shù)主流技術。 本文我們將討論如何集成 Spring Hibernate.

二.Spring Hibernate基礎

在我們實際進入集成這兩個技術之前,讓我們理解這種集成需求,大家都知道Hibernate是一種位于應用和數(shù)據(jù)庫之間的強大的ORM 工具。 它可使應用以獨立平臺的方式從各種數(shù)據(jù)庫訪問數(shù)據(jù),對應用來說沒有必要依賴于低級DBC 細節(jié)如管理連接, 處理statements 和result sets. 所有訪問特定數(shù)據(jù)源的細節(jié)很容易在Xml文件中配置,另一個好處是Hibernate和J2SE和J2EE應用兼容得很好。

使用Hibernate 問題之一是使用Hibernate Framework訪問數(shù)據(jù)庫的客戶應用必須依賴Hibernate APIs如Configuration, SessionFactory and Session. 這些個對象在應用代碼中持續(xù)擴散。而且應用代碼必須用手工維護和管理這些對象。但是在Spring的環(huán)境,業(yè)務對象通過IOC的幫助下是能夠通過配置完成的,簡單地說,一個對象狀態(tài)能夠從應用代碼中分離。意思是現(xiàn)在使用Hibernate 對象作為Spring Beans是可能的,他們能夠得到Spring提供的所有方便。

三.集成Sample

我們沒有打算研究Spring包里集成的各種API,我們想通過實例源碼來學習和理解這些APIs. 下列部分包括了集成Spring-Hiberante 的每個步驟并附有詳細的解釋。

1.創(chuàng)立數(shù)據(jù)庫

下面的應用使用Oracle數(shù)據(jù)庫。 Oracle10g的express版本可以從http://www.oracle.com/technology/products/database/xe/index.html免費下載,安裝后, 先用管理員身份登錄和創(chuàng)建用戶schema,username and password,再以用戶身份登錄后去SQL command 或SQL Script運行以下SQL statement :create table Activitylog(id varchar(10), name varchar(20), taskcode varchar(3), tasktime timestamp);現(xiàn)在一個空表已創(chuàng)立。

2.ActivityLog類

現(xiàn)在讓我們創(chuàng)建叫做Activitylog POJO代碼用于存儲從Activitylog表取出的數(shù)據(jù),此類的設計使表'Activitylog'的列名將被映射到Java類Activitylog適當類型的變量名。 可使用ant工具或plug-in產(chǎn)生,Activitylog類完整的代碼列舉如下:

package com.xxx.audit.pojo;  public class Activitylog {  private String id;  private String name;  private String taskcode;  private Timestamp tasktime;  public Activitylog () {  }  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 getTaskcode(){  return taskcode;  }   public void setTaskcode(String taskcode){  this.taskcode = taskcode;  }  public Timestamp getTasktime(){  return tasktime;  }  public void setTasktime(Timestamp tasktime){  this.tasktime = tasktime;  }  public String toString(){  return "Id = " + id + ", Name = " + name + ", Taskcode = "   + taskcode + ", Tasktime = " + tasktime;  }  }

注意toString() 方法重寫是為了Activitylog 對象的顯示。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI