<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)

    隨筆分類

    隨筆檔案

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲人成网亚洲欧洲无码| 亚洲精品在线免费观看| 在线观看亚洲视频| 免费看a级黄色片| 亚洲av中文无码字幕色不卡| 青青草国产免费久久久下载| 亚洲精品无码少妇30P| 精品少妇人妻AV免费久久洗澡| 亚洲欧美日韩综合久久久| 成年丰满熟妇午夜免费视频| 亚洲精华液一二三产区| 免费国产不卡午夜福在线| 99re6热视频精品免费观看| 国产18禁黄网站免费观看| 噜噜噜亚洲色成人网站| 亚洲国产中文v高清在线观看| 亚洲xxxx视频| 免费国产99久久久香蕉| 亚洲高清免费在线观看| 曰曰鲁夜夜免费播放视频| 亚洲综合色丁香婷婷六月图片| 成人国产mv免费视频| 亚洲高清免费视频| 四虎影在线永久免费观看| 五月天婷婷免费视频| 亚洲Av熟妇高潮30p| 成人黄色免费网站| 黄页网址在线免费观看| 亚洲一区二区三区自拍公司| 久久久久久国产精品免费无码 | 日韩人妻无码精品久久免费一| 亚洲视频国产视频| 国产在线98福利播放视频免费| 久久WWW免费人成—看片| 亚洲电影唐人社一区二区| 免费在线观看的黄色网址| 日本卡1卡2卡三卡免费| 亚洲AV永久无码天堂影院| 亚洲人成网亚洲欧洲无码久久| 美女视频黄a视频全免费| 一级毛片试看60分钟免费播放|