精华帖 (0) :: 良好帖 (0) :: 新手帖 (3) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-01
QuakeWang 写道 longrui 写道 老要包装Map是比较烦人,可以通过实现自己的查询模板或写自己的数据结构实现: 可以用varargs来做简化,还有List也是比较常用: QMap(Object... parameters) QList(Object... parameters) List list = getIbatisTemplate().queryForList("queryStr", new QMap("name", "名字", "age", 18)); 太帅了~~ |
|
返回顶楼 | |
发表时间:2009-04-01
iBATIS 好多人推荐这个 不知道好用吗!
|
|
返回顶楼 | |
发表时间:2009-04-01
IBATIS 好用的 挺轻便的 不过MAP老要封装很麻烦 像看看大家怎么弄的
|
|
返回顶楼 | |
发表时间:2009-04-03
最后修改:2009-04-03
QuakeWang 写道 有了Hibernate/iBatis这些强大的ORM以后,确实不用再写一个DAO了,在Service里面直接用。
单元测试可以用内存数据库来直接做。 而说考虑到ibatis转化为hibernate,即便你用DAO,也要大范围的改动,service里面这点引用的改动可忽略不计了。 同意以上观点,基本上我们团队中在使用了Hibernate和iBATIS后都不写DAO了(最多包装个通用的DAO来表示还有DAO这一层)。大多数DAO所要实现的操作都是比较简单的CRUD,重复代码太多,而且意义也不大。当然如果真的碰到有换框架的一天,那再来对Service层进行重构吧。 以前考虑过定义一个可以切换于各种持久化方案的通用DAO接口,貌似不太可能,毕竟hibernate/iBAITS/jpa的调用方式都不一样。能够统一的只有一小部分api。 |
|
返回顶楼 | |
发表时间:2009-04-03
thinblue 写道 IBATIS 好用的 挺轻便的 不过MAP老要封装很麻烦 像看看大家怎么弄的
我使用的是Struts2,在需要Map时,我会使用如:Map mapBean = BeanUtils.describe(br);的写法,把DomainBean对象br的不为空的属性弄到Map里。不知道其他人怎么弄的。 |
|
返回顶楼 | |
发表时间:2009-04-03
wang19841229 写道 您这么写如果有一天业务变化把原有的持久化策略从ibatis变为hibernate那您所有的service都要修改,因为所有的service都引用了spring 的ibatis的模板。
业务不会关心IT的底层实现,持久成你用jdbc、ibatis还是hibernate,数据库你用mysql、oracle还是db2的,他们才不关心。业务操作、业务流程实现没有才是他们关心的问题。持久层是会变,但是变的可能性有多大呢?我觉得概率很小(估计在1%以下)。 |
|
返回顶楼 | |
发表时间:2009-04-07
省去DAO接口,直接写实现类还是比较方便的。
没必要整到service层 |
|
返回顶楼 | |
发表时间:2009-04-08
sw1982 写道 省去DAO接口,直接写实现类还是比较方便的。
没必要整到service层 我们现在就是这样的`` 呵呵 |
|
返回顶楼 | |
发表时间:2009-04-08
楼主不是开玩笑吧,在很久以前是没有DAO层的概念的,多年后有人总结出来了,现在你又要改回去?有句话叫“存在即合理”,楼主你太片面了
|
|
返回顶楼 | |
发表时间:2009-04-09
netfork 写道 可惜目前iBATIS的SqlMapClientTemplate类不支持泛型,要不然,可能就更好一些了。
自己再做一层包装就行了吧。 |
|
返回顶楼 | |