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 阅读(623) 评论(0)  编辑  收藏 所属分类: JavaDatabase


只有注册用户登录后才能发表评论。


网站导航: