论坛首页 Java企业应用论坛

想改造下ibatis,不知道有没有前途。。。

浏览 15283 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-05-25  
fight_bird 写道
你得明白ibatis的设计目标:具备完整sql层控制力的sqlmap框架,它就干这个,而且只干这么,对于DAO层,ibatis的作者都推荐用spring来集成,自己原来的DAO层实现已经停止开发。

术业有专攻,ibatis只想做这些,楼主真有能力可以做一个ibatis封装,前提是楼主先读完ibatis的代码。

我倒是觉得做个ibatis的ide插件更实用,idea下已经有了。


ibatis代码我也看了一眼,写的确实感觉比较乱,如果要实现我提到的4个目标,需要在源代码基础上做修改,这样就和ibatis的后续版本存在兼容问题,比较烦人。现在的主要考虑点,就是值不值,所以想请用过的朋友指点下。

ibaits纯粹SQL的方式比较适合程序开发和DBA专家分的很清楚的大公司,不过对于像我们这样的中小企业,哪有什么dba,什么都靠自己来,在这样的情况下同时记忆SQL字段表名和领域对象名称和字段名,而且不能弄混了,就是纯成本了。

另外,按照28原则,80%的SQL语句应该都不需要DBA参与,程序员自己搞定就行了,这样使用类名和类属性总体的维护成本要更小,因为需要DBA写完SQL,在-〉类似HQL的部分比较少,不会很麻烦。
0 请登录后投票
   发表时间:2009-05-26  
用了一年多的iBatis,确实发现有LZ提到的几个问题,不爽,希望可以改进。
0 请登录后投票
   发表时间:2009-06-17   最后修改:2009-06-17
试试这个:
http://code.google.com/p/express-me/wiki/ExpressPersistence

直接在DAO接口标记SQL,不需要写DAO Class,直接使用
0 请登录后投票
   发表时间:2009-06-17  
最好改进include标签,能带参数。还有就是简化is系列的标签
0 请登录后投票
   发表时间:2009-11-04  
楼主的几个改进方向都赞同。

回几位同学的评论:

不必非得强调 Hibernate该这样做, IBatis 该那样做, 显示的泾渭分明,只是一种教条。
我们需要是一个最适合,最好用的持久层框架, 如果 Hibernate,IBatis 各有优缺点,不妨互相借鉴优点,摒弃缺点,形成一个融合的框架,就如同楼主所作的努力。

我以前也不爽于Hibernate 的 HQL 和不支持 Dynamic SQL, 于是在 Hibernate上扩展,引入Ibatis 的动态sql 等特性。
0 请登录后投票
   发表时间:2009-11-04  
myreligion 写道

3. ibatis的翻页支持纯粹就是瞎闹。我们可以做个简单的dialect,专门解决翻页的问题,不用所有的翻页select都自己定义Limit。。。之类的。

可以用iBatis的include标签设计类似模板的东西,简化分页sql:
http://code.google.com/p/smartpagination/source/browse/trunk/src/org/powerstone/smartpagination/sample/UserModelSql.xml
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics