不^他可以化 DAO 的工作
可以算是 SQL Mapping ...
他的^念很
可以下d iBATIS 的 jPetstore 作 sample code W
最重要的是 com.ibatis.jpetstore.persistence.*
你可以看到 sql/*.xml 就是 sql mapping
蔚 mapping sql ^念 堕_l及So是一件很p的事情
而他的 MVC Framework 是裼 struts
可以作基本教材W jsp/servlet MVC _l
另外, hibernate 是完全的 O/R mapping
你可以看一下 Clinton Begin ( iBATIS DB 作者 )所做的u
http://sourceforge.net/forum/message.php?msg_id=2141106
@句, 也是我最喜gζ渌 勰 xxx 和 yyy 比^的人 所f的
In the end the choice is yours and nobody can tell you what the right one is,
Trust only yourself, draw your own conclusions and do lots of testing!
我转了!
你把 jsptw 版主 morchory ( browser ) 和我 jini (99% jakarta)搞混了
我只是他的一小手下. jsptw opensource 版主 :p
能否多谈谈关于的ibatis的话题??我很有兴趣!!!
ibatis的网站
www.ibatis.com上面可以找到很好的文档,再加上有非常不错的例子,所以使用是相当的简单。
sourceforge上面的讨论
https://sourceforge.net/forum/forum.php?forum_id=206693
ibatis大体上可以分为两个部分:SQL Maps + Data Access Objects
我现在的项目中都用到了,它提供的jpetstore就使用了db layer,可以参考它的实现方式。
不过我觉得jpetstore的db layer实现方式还不是太好,至少它的业务逻辑层和dao层没有明显区分,在实现比较大的项目的时候造成了程序的混乱,如果没有一个良好的模式来实现db layer 的时候,确实会造成效率的低下,有了良好的架构,速度确实很快(特别是SQL Maps + Data Access Objects
BO层的设计已经不是什么新鲜的了,但我觉得它确实可以很好的和DaoManager结合起来,通过DaoManager->SQL map->jdbc
它的两个核心的配置文件:dao.xml+SqlMapConfig.xml
通过灵活的配置文件的组合可以实现数据库不同的访问组合
比如:一个dao.xml可以对应多个SqlMapConfig.xml
一个dao.xml可对应一个数据库,多个dao.xml就可以访问多个数据库了(它的petstore就提供了演示distributed功能的样例是oracle+ms sql)
它的SqlMapConfig.xml中可配置sql-map resource,就是配置你具体的sql语句的xml文件。
它的sqlMap提供很多方法来访问数据库,直接返回你想要的结果
*****
DAO中的一个供分页查询的方法
*****
......
SqlMap sqlMap = getSqlMapFromLocalTransaction();//取到当前sqlmap对象
List list=sqlMap.executeQueryForList("你的MappedStatement文件中sql语句的名称", object("你可以通过这个object传一些查询条件"),skipResults,maxResults);
...
有了良好的设计模式,它可以和struts完美结合在一起,无论是效率还是清晰型上,都非常令人满意的
大数据量的分页是一个老问题了,它的效率瓶颈不单是数据库访问层的问题啊,它跟你的实现思想是密切相关的,比如你一次在客户端放上万条数据,那么数据库访问层再好的实现也是无济于事的,所以每次只在客户端放客户看到的数据(一般100条以下),每次分页的时候再读取另外的数据过来,(参见上实现的例子),另外用url连接的方式到下一页而不是重新提交,然后做cache处理(ibatis可以灵活方便的配置cache),ibatis的数据库连接做静态变量处理,这样只读取一次数据库,这样应该够快了吧
我觉得可能是使用ibatis的模式没有设计好,是不是每次请求都要去连接一次数据库啊?我使用了dao+sql map,重新设计了它的使用模式,也没有用catche,不过用了jsptags上的一个分页组件,同事都说这是他们见到过的最快的分页.@_$
我使用的也是dao+sqlmap,从新设计使用模式是指什么意思?
jsptags上的一个分页组件是Sourceforge上的吗?