weidagang2046的專欄

          物格而后知致
          隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
          數據加載中……

          放棄 ORM 改用 SqlMap 的 N 個理由

          1. 在項目中經常碰到的數據庫分頁查詢, ORM 一般都支持的不好, 如果用 ORM, 這部分程序往往要自己擴展, 而 SqlMap 對各種查詢語句不分彼此, 一概在 Map 文件里定義。

          2. 對一些稍微復雜些的語句, 例如在對金額等敏感數據操作時, 一個常用的操作序列是:
          a. 先取出當前金額
          b. 運算后得到更新的金額
          c. 執行 Update 語句: Update < tableName > set amount= < New amount > where amount= < Old amount >
          這種操作是 ORM 不能支持的, SqlMap 能很好的支持。

          3. SqlMap 的 Domain 對象可以直接放在業務層, 一般 ORM 的對數據訪問的基類要放在數據訪問層(因為帶有對數據訪問的接口, 放在業務層不合適), 增加了代碼的冗余度。

          4. 用 ORM 的目的是什么, 最主要的目的是減少重復的底層編程工作量, SqlMap 完全可以做到。

          再說說 SqlMap 的不足:

          1. 因為不象 ORM 那樣生成穩定可靠的對數據訪問的基類, 所以要對 Map 操作做好充足的單元測試, 增加了測試的工作量。

          2. 每次改動數據庫, Map 和 Domain 文件往往要手工修改, 因為 SqlMap 的靈活性, 往往我們會手工調整 Map 而不會直接使用 Generator 生成的代碼。

          from: http://matrix.foresee.cn/blogs/simon/archives/001638.html

          posted on 2006-11-26 16:02 weidagang2046 閱讀(649) 評論(0)  編輯  收藏 所屬分類: JavaDatabase

          主站蜘蛛池模板: 南昌市| 灵丘县| 南充市| 海林市| 县级市| 马鞍山市| 锦州市| 措美县| 康乐县| 台南市| 呼伦贝尔市| 彝良县| 合川市| 武鸣县| 阳春市| 富顺县| 云浮市| 云梦县| 全椒县| 肇州县| 五原县| 西丰县| 改则县| 贵德县| 子长县| 庆云县| 五大连池市| 四川省| 五莲县| 礼泉县| 会昌县| 海丰县| 垣曲县| 米林县| 乐陵市| 临清市| 申扎县| 赤城县| 泗洪县| 盐城市| 永安市|