Terry.Li-彬

          虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業(yè)。

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks
          3.4. 持久層在討論業(yè)務層之前,我們先看一下持久層,如下圖所示:



          在上文中,我們把iface包下的DAO接口歸為業(yè)務層,在這里不需要做修改。ibatis的sql配置文件也不需要改。要改的是DAO實現(xiàn)類,并在spring的配置文件中配置起來。

          1、修改基類

          所有的DAO實現(xiàn)類都繼承于BaseSqlMapDao類。修改BaseSqlMapDao類如下:

          public class BaseSqlMapDao extends SqlMapClientDaoSupport
                      {
                      protected static final int PAGE_SIZE = 4;
                      protected SqlMapClientTemplate smcTemplate
                      = this.getSqlMapClientTemplate();
                      public BaseSqlMapDao()
                      {
                      }
                      }


          使BaseSqlMapDao類改為繼承于Spring提供的SqlMapClientDaoSupport類,并定義了一個保護屬性smcTemplate,其類型為SqlMapClientTemplate。

          2、修改DAO實現(xiàn)類

          所有的DAO實現(xiàn)類還是繼承于BaseSqlMapDao類,實現(xiàn)相應的DAO接口,但其相應的DAO操作委托SqlMapClientTemplate來執(zhí)行,以AccountSqlMapDao類為例,部分代碼如下:

          public List getUsernameList()
                      {
                      return smcTemplate.queryForList("getUsernameList", null);
                      }
                      public Account getAccount(String username, String password)
                      {
                      Account account = new Account();
                      account.setUsername(username);
                      account.setPassword(password);
                      return (Account)
                      smcTemplate.queryForObject
                      ("getAccountByUsernameAndPassword", account);
                      }
                      public void insertAccount(Account account)
                      {
                      smcTemplate.update("insertAccount", account);
                      smcTemplate.update("insertProfile", account);
                      smcTemplate.update("insertSignon", account);
                      }


          就這么簡單,所有函數(shù)的簽名都是一樣的,只需要查找替換就可以了!
          posted on 2007-12-05 16:02 禮物 閱讀(355) 評論(0)  編輯  收藏 所屬分類: ibatis + spring
          主站蜘蛛池模板: 万载县| 大埔区| 成安县| 常熟市| 邻水| 南阳市| 阿鲁科尔沁旗| 边坝县| 南华县| 萍乡市| 巴彦淖尔市| 德庆县| 侯马市| 博客| 南开区| 永吉县| 本溪| 新竹市| 张家界市| 乳山市| 贡觉县| 华容县| 宜阳县| 尼勒克县| 蒙城县| 郑州市| 乌拉特中旗| 景洪市| 兰坪| 乌兰县| 惠来县| 西昌市| 宜兰县| 垦利县| 西峡县| 延庆县| 翁牛特旗| 太仓市| 曲水县| 东宁县| 准格尔旗|