資源描述:
《Spring中的持久性》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、----------專業(yè)最好文檔,專業(yè)為你服務(wù),急你所急,供你所需-------------文檔下載最佳的地方Spring中的持久性 編者按:簡單而有技巧地解決問題總是比蠻力解決要好。這就是最近出版的Better,Faster,LighterJava一書中所遵循的原則。從這本書的第八章中節(jié)選出來的這個關(guān)于Spring的兩部分的系列文章,也體現(xiàn)了書的作者BruceTate和JustinGehtland所信奉的這個原則。本周Bruce和Justin將繼續(xù)第一部分,向PetStore示例添加持久性,并探討Spring框架中的持久性邏輯方面。添加持久性
2、 CartItem對象不一定非要是持久的。另一方面,您希望從數(shù)據(jù)庫中獲取產(chǎn)品和類別。J2EE應用程序開發(fā)人員一直在尋求一種成熟的持久性方法而沒有成功。好的持久性框架應該支持透明,并且不侵入域模型。Spring允許您將透明對象與數(shù)據(jù)訪問層分離開來。然后Spring使您可以很容易地在持久性之上建層。可以使用JDBC抽象層,它可以分離掉JDBC中許多冗長乏味、易于出錯的方面,比如連接管理和錯誤處理。SpringJDBC層使用一個稱為回調(diào)模板的特性來將控制權(quán)由應用程序交給Spring框架。借助于該策略,Spring不再需要管理連接、結(jié)果集和特定于RDBMS
3、的錯誤。當想要使用JDBC直接處理關(guān)系查詢時,該框架就非常有用了?! ⊥ǔ?,我們都寧愿處理對象而不愿處理關(guān)系。Spring也有一個用于透明持久性的模型。jPetStore使用Spring的OR映射層,該層提供了許多預包裝的選項?,F(xiàn)在Spring支持針對基本JDBCDAO、Hibernate和JDO的映射層。這個例子使用一個稱為iBATISSQLMaps的DAO框架來實現(xiàn)SpringDAO層。模型 每個Spring解決方案都從一個透明域模型開始。例8-3從透明模型對象(一個產(chǎn)品)開始?! ±?-3.Product.javapublicclassPr
4、oductimplementsSerializable{privateStringproductId;privateStringcategoryId;privateStringname;privateStringdescription;publicStringgetProductId(){returnproductId;}publicvoidsetProductId(StringproductId){this.productId=productId.trim();}----------專業(yè)最好文檔,專業(yè)為你服務(wù),急你所急,供你所需---------
5、----文檔下載最佳的地方----------專業(yè)最好文檔,專業(yè)為你服務(wù),急你所急,供你所需-------------文檔下載最佳的地方publicStringgetCategoryId(){returncategoryId;}publicvoidsetCategoryId(StringcategoryId){this.categoryId=categoryId;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringg
6、etDescription(){returndescription;}publicvoidsetDescription(Stringdescription){this.description=description;}publicStringtoString(){returngetName();}} 這里沒什么特別的。它完全由屬性組成,通過getter、setter以及一個實用方法toString進行訪問。如果您看一下jPetStore應用程序,就會發(fā)現(xiàn)域中其他每個持久性對象都有類似的類:Account、Order、Category、Item和L
7、ineItem。映射 至于Hibernate,iBATISSQLMaps框架有一個映射文件。在該文件中,Javabean中的每個持久性屬性都映射到一個數(shù)據(jù)庫列。使用SQLMaps,可以在該映射文件中創(chuàng)建所有的SQL,將所有的SQL與XML映射文件隔離開來。例8-4顯示了Product的XML映射支持?! ±?-4.Product.xml[1][2]8、/>----------專業(yè)最好文檔,專業(yè)為你服務(wù),急你所急,供你所需------------