]]>鍏充簬Spring涓埄鐢℉ibernate浣滀負DAO鐨勭畝鍖?/title>http://www.aygfsteel.com/anticlockwise/archive/2006/03/09/34429.html涓炬浼橀泤鐨勭尓涓炬浼橀泤鐨勭尓Thu, 09 Mar 2006 02:36:00 GMThttp://www.aygfsteel.com/anticlockwise/archive/2006/03/09/34429.htmlhttp://www.aygfsteel.com/anticlockwise/comments/34429.htmlhttp://www.aygfsteel.com/anticlockwise/archive/2006/03/09/34429.html#Feedback2http://www.aygfsteel.com/anticlockwise/comments/commentRss/34429.htmlhttp://www.aygfsteel.com/anticlockwise/services/trackbacks/34429.html鍦ㄦ殤鍋囬噷鐪嬩簡鈥淩efactoring to Patterns鈥濊繖鏈功錛岃寰楀緢涓嶉敊銆傞噷杈硅鍒頒簡寰堝鍦ㄤ紭鍖栫紪鐮佹椂鍙互鐢ㄥ埌鐨勮璁℃ā寮忎互鍙婂畠浠殑鐢ㄦ硶銆?BR> 鎴戝湪緙栫▼鏃訛紝涓鑸兘鏄敤Spring浣滀負涓棿灞傜鐞嗚祫婧愶紝鑰岀敤Hibernate浣滀負ORM銆傜敤榪嘢pring鐨勪漢閮界煡閬揝pring瀵笻ibernate鐨勬敮鎸佹柟娉曡緝澶氾紝鎴戝父鐢ㄧ殑鏄洿鎺ョ戶鎵縃ibernateDaoSupport綾匯傛垜浠厛鏉ョ湅涓涓被鍥撅細 鍦ㄦ槸鎴戝湪搴旂敤涓父鐢ㄥ埌鐨勭被緇撴瀯銆傚洜涓哄浜庝竴涓煙妯″瀷鏉ヨ錛屾渶鍩烘湰鐨勫氨鏄疌RUD鎿嶄綔錛屾墍浠ュ皢鍏舵斁鍦―ao鎺ュ彛涓紝浣嗘槸瀵逛簬姣忎釜涓嶅悓鐨勫煙妯″瀷鍙堟湁鍏剁壒鏈夌殑鏂規硶錛屽垯灝嗗叾鏀懼湪鍩熸ā鍨嬪搴旂殑鎺ュ彛錛圫omeSpecificDao錛変腑銆?BR> 榪欐牱錛屽浜庢渶鍩烘湰鐨凜RUD鎿嶄綔灝卞彲浠ュ彧闇鍦˙aseHibernateDao涓疄鐜幫紝榪欎竴鐐瑰埄鐢ㄤ簡Template Method璁捐妯″紡銆傚浜巆reate(), delete()鍜宮odify()涓変釜鏂規硶閮藉彲浠ョ畝鍗曞疄鐜幫紝鍗寵皟鐢℉ibernateTemplate涓浉搴旂殑鏂規硶銆傚浜巉indAll鍜宖indById錛屽垯鍙互鍊熶綇Java鐨勫弽灝勬潵瀹炵幇銆傝繖閲屽鏋滆鍒╃敤鍙嶅皠涓旇揪鍒伴氱敤鐨勭洰鐨勶紝灝遍渶瑕佸皢鎵鏈夌殑鍩熸ā鍨嬫斁鍦ㄤ竴涓寘涓紝騫朵笖鏈夌浉鍚岀殑鍛藉悕瑙勫垯錛屾瘮濡傝濡傛灉鍩熸ā鍨嬪彨鍋歎ser錛岄偅涔堢浉搴旂殑Dao搴旇浠ser寮澶達紝涓嶈繃榪欎篃鏄父鐢ㄧ殑鏂規硶銆備笅闈㈢粰鍑轟竴灝忔浠g爜
/** * A convenience and generic method for retrieving all models from the database * @throws DataAccessException */ public List findAll() throws DataAccessException { // TODO Auto-generated method stub List models =new ArrayList(); try{ models = getHibernateTemplate().loadAll( Class.forName(getClass().getName().replaceAll( "HibernateDao", "").replaceAll("dao.hibernate", "model"))); }catch (ClassNotFoundException exception) { // TODO Auto-generated catch block exception.printStackTrace(); } return models; }