泛型DAO基类存在的理由仅仅就是为了方便吗?Mybatis需要这东西吗?

某曾用过hibernate,代码是别人留下来的。DAO层实现了一个泛型的baseDao实现,所有其它Dao实现类均继承了它,因此大多数Dao实现类一行代码都不用写,即可实现大部分CRUD,感觉确实挺方便的。现在开始用mybatis,别人都说它不需要泛型DAO,一张表对应一个mapper,对应一堆sql语句即可。但是编辑起来一个表就要有一堆sql语句工作量确实比hibernate一个泛型DAO通杀90%以上情况大不少,难道mybatis的灵活的代价就是更多的工作量吗?

貌似有个工具是可以根据配置,生成相应的sql的。
我做过的一个项目 则是自己写了生成工具。
mybatis主要侧重执行效率,而非开发效率了……
以上是题外话。

楼主的问题,其实DAO基类跟写不写sql没有关系。

我印象中,好像 mapper也可以用继承的。
可以把crud方法都放到dao基类上。
这样可以少写点java 的代码。
虽然sql没少。

需要写很复杂的sql的时候mybatis会比 hibernate方便点,效率上可能也会稍微好点

可以借助工具mybatis-generator来帮助你提升开发效率的,这个工具生成的类很好用

泛型DAO父类与ORM框架无关,是你在ORM框架之上又一层的封装,即使不用hibernate也可以用,而且如果能用就尽可能这样用,代码也会更简介一点

[color=blue]返修跟开发框架无关!

跟个人技术能力有关!

MyBatis Mapper也可以使用泛型!
[/color]