Я пытаюсь получить это ответило, и нашел один комментарий в документации MyBatis:MyBatis - Mapper против DAO
Обычно
MapperFactoryBean
предпочтительно этот класс, так как не требует никакого дополнительного кода. Но этот класс (DAO
) полезен, если вам нужно сделать другой без MyBatis работы в вашемDAO
и конкретные классы необходимы и использоватьSqlSessionDaoSupport
илиSqlSessionFactory
В случае, если я решил использовать MapperFactoryBean
сегодня в моем проекте , но позже мне нужно будет использовать concrete DAO
(может быть, потому что вы не можете делать 100% с использованием SQL в Mapper), тогда мне нужно изменить дизайн.
Если вышесказанное верно, то MapperFactoryBean будет очень менее полезным и никогда не будет (или главным образом) выбором.
Другими словами: Может ли MapperFactoryBean и DAO сосуществовать? Даже если да, должны ли они быть?
Почему вы так думаете? И в чем ваш вопрос? – Kai
Мои вопросы: В случае, если я использую Mapper, и мне нужно будет создать динамический SQL (который может меня за пределами MyBatis Support), я бы использовал DAO. Итак, почему бы не использовать DAO как выбор дизайна на первом месте, даже если у вас есть небольшие шансы на то, что у вас есть требование? –