freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

通過(guò)代碼實(shí)例跟我學(xué)spring框架從入門(mén)到精通——spring框架與hibernate框架相互整合的相關(guān)技術(shù)和應(yīng)用實(shí)例eclipse版本-資料下載頁(yè)

2024-11-14 07:42本頁(yè)面

【導(dǎo)讀】象的客戶中的大量代碼。當(dāng)直接使用JDBC來(lái)映射數(shù)據(jù)模型到對(duì)象模型的時(shí)候,我們通常需要寫(xiě)大量。Hibernate減少了這部分這樣的編碼工作。用如JDBC等對(duì)關(guān)系數(shù)據(jù)庫(kù)訪問(wèn)的技術(shù)。因此,我們也希望所使用的應(yīng)用程序框架也最號(hào)能。夠支持它,而Spring的設(shè)計(jì)者已經(jīng)為我們考慮了這些應(yīng)用的需求。在Spring中提供了對(duì)Hibernate和JDO等的集成支持。要把Spring和Hibernate相互結(jié)合從實(shí)現(xiàn)的角度來(lái)看并不難,無(wú)非是配置幾個(gè)Bean。但難的是必須把整個(gè)應(yīng)用系統(tǒng)的架構(gòu)設(shè)計(jì)和組織好。1)首先,要面向接口編程。2)其次,要組織好DAO和Service對(duì)象間的關(guān)系。3)最后,要對(duì)Spring是如何管理Hibernate的Session和事務(wù)有清醒的認(rèn)識(shí)。ServiceLocater和一些DAOFactory類的廢棄----包括Session管理、聲明式事務(wù)管理、Spring提供有效率的,簡(jiǎn)單的以并且是安全的處理HibernateSession。的datasource,iBatis的SQLMaps配置對(duì)象以及其他相關(guān)資源的定位和配置。配置的值很容易被管理和修改。這使得我們能夠僅僅在恰當(dāng)?shù)膶用嫣幚泶蟛糠植豢苫謴?fù)的持久化異常,而不。影響catch/throw,和異常聲明。

  

【正文】 可能不使用 HibernateTemplate。 實(shí)現(xiàn)的代碼示例 package 。 import 。 import 。 import 。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 16/19 頁(yè) import 。 import 。 public class DAOInterfaceImpl_HibernateDAO extends HibernateDaoSupport implements DAOInterface{ private LocalSessionFactoryBean sessionFactory。 public void setSessionFactory(LocalSessionFactoryBean sessionFactory) { = sessionFactory。 } public DAOInterfaceImpl_HibernateDAO() { } public UserInfoPO selectOneUserInfoDBData(UserInfoPO oneUserInfoPO) { Object userInfoPara[]={ (), () }。 String hqlSelect=from as userInfo where =? + and =?。 List returnResult=getHibernateTemplate().find(hqlSelect, userInfoPara)。 if(()==0){ return null。 } return (UserInfoPO)(0)。 } } 可以采用 spring 中所提供的對(duì) sessionFactory 的封裝,因此只需要注冊(cè)一個(gè) spring自 己 的 類 , 給 它 提 供 必 須 的 屬 性 , 它 會(huì) 返 回 一 個(gè)。 而 HibernateTemplate 封裝了 Hibernate 所提供幾乎所有的的數(shù)據(jù)操作方法,如execute(HibernateCallback action), load(Class entityClass, Serializable id),save(final Object entity)等等。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 17/19 頁(yè) 它的封裝程度相當(dāng)高 借助 HibernateTemplate 我們可以脫離每次數(shù)據(jù)操作必須首先獲得 Session 實(shí)例、啟動(dòng)事務(wù)、提交 /回滾事務(wù)以及煩雜的 try/catch/finally 的繁瑣操作。從而獲得以上代碼中精干集中的邏輯呈現(xiàn)效果。 利用 Spring 封裝好的 hibernate 模版,開(kāi)發(fā)起來(lái)速度非???,調(diào)試也很容易。它能夠解決如何在團(tuán)隊(duì)內(nèi)貫徹設(shè)計(jì)方案的問(wèn)題。 基于 Hibernate3 的原生 API 實(shí)現(xiàn) DAO 的功能實(shí)現(xiàn) ( 1)類似 于普通的 Hibernate DAO 的功能實(shí)現(xiàn)方式 這種 Hibernate 數(shù)據(jù)訪問(wèn)的風(fēng)格與我們正常在 Hibernate 文檔和示例中見(jiàn)到的非常類似,不同之處在于 DAO 的實(shí)現(xiàn)類中持有一個(gè) SessionFactory 的實(shí)例變量。 這樣的功能實(shí)現(xiàn)方式比正常的基于 Hibernate 的功能實(shí)現(xiàn)方式要優(yōu)越,因此應(yīng)該盡可能采用這種基于實(shí)例變量的 DAO 構(gòu)建方式,而不是使用那種過(guò)去由 Hibernate 的示例程序中提到的靜態(tài)的 HibernateUtil 類。因?yàn)?,不要在靜態(tài)變量中保存任何資源信息。 ( 2)該方式的 DAO 完全 遵循 IoC 實(shí)現(xiàn) 它如同使用 Spring 的 HibernateTemplate 進(jìn)行編程那樣,適合在 application context 中進(jìn)行配置。 具體來(lái)說(shuō),它使用了 Setter 注入。 ( 3)主要的優(yōu)點(diǎn) 這種 DAO 訪問(wèn)方式的主要優(yōu)勢(shì)在于它僅僅依賴于 Hibernate API 本身而無(wú)需引入任何Spring 的類。 從無(wú)入侵性的角度來(lái)看,這一點(diǎn)非常吸引人。同時(shí),對(duì)于 Hibernate 開(kāi)發(fā)人員來(lái)說(shuō)也更自然。當(dāng)然,這樣的 DAO 訪問(wèn)方式會(huì)拋出 HibernateException。 基于 Hibernate3 的原生 API 實(shí)現(xiàn) DAO 的功能實(shí)現(xiàn)編程要點(diǎn) ( 1)在 DAO 類中定義的成員屬性為下面的形式 private SessionFactory sessionFactory。 public void setSessionFactory(SessionFactory sessionFactory) { = sessionFactory。 } sessionFactory 對(duì)象是 類型,而不是 類型。 ( 2)獲得 session 的方式是 session = ()。 而不是 Spring 幫助文檔中的 session = ()。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 18/19 頁(yè) 否則會(huì)出現(xiàn)下面的錯(cuò)誤“ No Hibernate Session bound to thread, and configuration does not allow create” 其 它與利用 Hibernate 本身的 API 編程實(shí)現(xiàn)相同!請(qǐng)見(jiàn)下面的代碼示例 public boolean insertBBSInfo(BBSInfoPO oneBBSInfoPO) throws WebBBSException { boolean OKOrNot=false。 Session session=null。 Transaction tx=null。 try { session = ()。 tx = ()。 (oneBBSInfoPO)。 ()。 OKOrNot=true。 } catch (HibernateException e){ int 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 19/19 頁(yè) logImpleKind=((logImpleKind))。 ((logImpleKind))。 ()。 //注意要設(shè)置變化點(diǎn) notifyObservers(e)。 //當(dāng)出現(xiàn)異常時(shí)將通知各個(gè)觀察者 throw new WebBBSException(在 BBSInfoManageDAOHibernateImple 類中的insertOneUserInfo 方法出現(xiàn)了 HibernateException 異常 )。 } finally { ()。 } return OKOrNot。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1