Mybatis-Spring позволяет вам вводить картофелей в сервисные бобы. При использовании Mapper можно назвать Mapper так же, как вызов DAO, но в настоящее время вам не нужно кодировать какие -либо реализации DAO, потому что Mybatis сделает это для вас.
С инъецированным Mapper ваш код не будет иметь никаких зависимостей Mybatis-Spring и зависимостей Mybatis. В нашем приложении есть такой простой карт. Вы также должны знать, что Mapper - это просто интерфейс:
публичный интерфейс usermapper {user getUser (string userId); }Вот как вы используете Mybatis-Spring для создания Mappers:
<bean id = "usermapper"> <name = "sqlSessionFactory" ref = "sqlSessionFactory" /> <name = "mapperInterface" value = "sample.usermapper" /> < /bean>
Теперь ваш Mapper готов внедрить в сервисный объект:
<bean id = "fooservice"> <name = "usermapper" ref = "usermapper"/> </bean>
Примечание. Полное имя класса интерфейса Mapper соответствует пространству имен файла конфигурации Mapper XML.
О MapperFactoryBean
Класс прокси, созданный MapperFactorybean, реализует интерфейс Mapper (как в примере выше: USERMAPPER) и вводится в приложение. Поскольку агент создается в среде Run, указанный Mapper должен быть интерфейсом. Вместо конкретного класса реализации.
Нет необходимости регистрировать все сопоставления в файле конфигурации XML Spring. Вместо этого вы можете использовать MappersCannerConfigurer, который будет искать картографических игроков под панцирем и автоматически создавать их в MapperFactorybeans. Чтобы создать MapperScannerConfigurer, вы можете добавить следующий код в конфигурацию пружины:
<Bean> <propery name = "basepackage" value = "org.mybatis.spring.sample.mapper"/> </bean>
Свойство BasePackage позволяет установить базовый путь пакета для файла интерфейса Mapper. Вы можете установить более одного пути пакета, используя полуколон или запятую в качестве разделителя. Каждый Mapper будет проходить рекурсивно в указанном пути пакета.
Обратите внимание, что нет необходимости указывать SQLSessionFactory или SQLSessionTemplate, потому что MapperScannerConfigurer создаст MapperFactoryBean, а затем автоматически собирает его. Однако, если вы используете более одного источника данных (и, следовательно, нескольких SQLSessionFactory), автоматическая сборка может потерпеть неудачу. В этом случае вы можете использовать свойство SQLSessionFactory или SQLSessionTemplate для установки правильного завода/шаблона.
MappersCannerConfigurer поддерживает фильтрацию для создания Mappers с помощью указанных интерфейсов создания или аннотаций. Свойство AnnotationClass определяет имя аннотации, которое нужно искать. Свойство MarkerInterface определяет родительский интерфейс для поиска. Если оба указаны, Mapper, добавленный в интерфейс, соответствует оба критерия. По умолчанию оба свойства являются нулевыми, поэтому все интерфейсы, приведенные в базовом пакете, могут быть загружены как Mappers.
Обнаруженный Mapper будет назван с использованием политики именования по умолчанию Spring для компонента автоматического обнаружения. То есть, если аннотация не найдена, она использует некапсулированное некапсированное имя класса Mapper. Но если вы найдете аннотацию @component или JSR-330 @, это получит имя.