<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    常言笑的家

    Spring, Hibernate, Struts, Ajax, RoR

    DAO層指南

    1.概述

       SpringSide的DAO層兩個特點:

       1.DAO層與Business層合并,且省略DAO接口,用cglib方式實現AOP事務控制。

       2.基于范型的強基類,普通DAO類只要用聲明所要管理的Entity類型即擁有完整的CRUD操作。

       結果就是,普通的Manager類只有一個文件,數行代碼。

       同時,當邏輯比較復雜,Manager類比較龐大時,可以內部重構拆分為Dao與Manager,但這個重構行為是內部的,不造成影響的。因為其他類調用的始終是Manager。

    2. HibernateGenericDao

       SpringSide 在Spring HibernateDaoSupport基礎上封裝的DAO,功能如下:

       1.應用范型,使得find(), get() 這些函數不再返回Object,不再需要強制類型轉換。

       2.提供各種finder的簡便函數
          應用了JDK5可變參數的hsql查詢函數:List find(String hql, Object... s) 

          簡單查詢的簡化函數:findBy(Class entityClass,String name,Object ) ,findUniqueBy(Class entityClass,String name, Object ),findByLike(Class entityClass,String name,Object ) 

       3.分頁函數:Page pagedQuery(Criteria criteria, int pageNo, int pageSize) /Page pagedQuery(String hql, int pageNo, int pageSize, Object... args) 。

       4.判別對象屬性在數據庫中唯一的函數:isNotUnique(entityClass, Object entity, String names)。

    3. HibernateEntityDao

        所有UserManager, ProductManager之類只管理一類對象的Manager類的基類,只需要在類定義處聲明Entity類型即可

    								public class BookManager extends HibernateEntityDao<Book> {}

    4. IBatisGenericDao

       SpringSide 在Spring SqlMapClientDaoSupport基礎上封裝的DAO,功能如下:

       1.應用范型,使得find(), get() 這些函數不再返回Object,不再需要強制類型轉換。

       2.提供各種finder的簡便函數
          應用了JDK5可變參數的hsql查詢函數:List find(String hql, Object... s) 

          簡單查詢的簡化函數:findBy(Class entityClass,String name,Object ) ,findUniqueBy(Class entityClass,String name, Object ),findByLike(Class entityClass,String name,Object ) 

       3.分頁函數:Page pagedQuery(Criteria criteria, int pageNo, int pageSize) /Page pagedQuery(String hql, int pageNo, int pageSize, Object... args) 。

        4.由于IBatis本身的特性,因此有少數方法的使用和HiberGenericDAO不太一樣,如save傳入的必須是一個指定操作方式的map(參看helloworld下面的UserManagerIBatisTest)

    5. IBatisEntityDao

        所有UserManager, ProductManager之類只管理一類對象的Manager類的基類,只需要在類定義處聲明Entity類型即可

    								public class BookManager extends IBatisEntityDao<Book> {}

    posted on 2006-12-16 22:42 常言笑 閱讀(815) 評論(0)  編輯  收藏 所屬分類: JAVA/J2EE

    My Links

    Blog Stats

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲黄色在线电影| 亚洲人成电影福利在线播放| 亚洲高清日韩精品第一区| 免费国产99久久久香蕉| 亚洲免费观看视频| 亚洲毛片无码专区亚洲乱| 激情无码亚洲一区二区三区| 99热在线日韩精品免费| 亚洲一区二区三区自拍公司| 成人精品视频99在线观看免费| 91免费人成网站在线观看18| 久久亚洲AV无码精品色午夜麻豆 | 丝瓜app免费下载网址进入ios| 成人亚洲综合天堂| 久久久久亚洲AV无码专区首JN| 8x网站免费入口在线观看| 亚洲视频网站在线观看| 成人免费午夜在线观看| 精品久久久久久亚洲中文字幕 | 亚洲精品无码MV在线观看| 亚洲一本之道高清乱码| 香港经典a毛片免费观看看| 97久久免费视频| 亚洲中文字幕无码av在线| 免费毛片在线播放| 最近免费字幕中文大全| 亚洲精品乱码久久久久久下载| 成年轻人网站色免费看| 亚洲国产综合精品中文第一区| 18级成人毛片免费观看| 亚洲国产精品日韩av不卡在线| 国产精品视频免费观看| 亚洲国产日韩在线视频| 国产91免费在线观看| 深夜特黄a级毛片免费播放| 久久夜色精品国产亚洲AV动态图| 毛片大全免费观看| 香蕉免费在线视频| 亚洲免费福利在线视频| 日日噜噜噜噜夜夜爽亚洲精品| 99精品视频在线视频免费观看|