我试图回答这个问题,并在 MyBatis 文档中找到了一条评论:
通常
MapperFactoryBean
是此类的首选,因为它不需要额外的代码。但是,DAO
如果您需要在您的内部进行其他非 MyBatis 工作,DAO
并且需要具体的类并使用SqlSessionDaoSupport
或SqlSessionFactory
如果我今天在我的项目中选择使用MapperFactoryBean
,但后来我需要使用concrete DAO
(可能是因为你可能没有在 mapper 中 100% 使用 SQL),那么我需要更改设计。
如果上述情况属实,那么 MapperFactoryBean 的用处将非常小,并且永远不会(或大部分)成为一种选择。
换句话说:MapperFactoryBean 和 DAO 可以共存吗?即使是,他们应该是吗?