SQLSessionTemplate
SQLSessionTemplate является ядром Mybatis-Spring. Этот класс несет ответственность за управление SQLSession Mybatis, вызов метода SQL Mybatis и перевод исключения. SQLSessionTemplate является потоковым и может быть обмен и используется несколькими DAO.
При вызове методов SQL он содержит метод, возвращаемый из метода Mapper getMapper (). SQLSessionTemplate гарантирует, что используемая SQLSession связана с текущей пружинной транзакцией. Кроме того, он управляет жизненным циклом сеанса, включая необходимые операции закрытия, коммита или отката.
SQLSessionTemplate реализует SQLSession, что означает, что необходимо просто заменить SQLSession of Mybatis.
SQLSessionTemplate обычно используется для замены внедрения MyBatis по умолчанию MyBatis DefaultqlSession, поскольку он не может участвовать в пружинных транзакциях или вводится, потому что это не знакомство с потоком. Преобразование между двумя классами в одном приложении может вызвать проблемы с согласованностью данных.
Объект SQLSessionTemplate может быть создан с использованием SQLSessionFactory в качестве параметра для построения метода.
<bean id = "sqlsession"> <constructor-arg index = "0" ref = "sqlSessionFactory"/> </bean>
Этот фасоль теперь может быть введен непосредственно в фасоль Дао. Вам нужно добавить свойство SQLSession в фасоль, например, следующий код:
открытый класс userDaoImpl реализует userdao {private sqlsession sqlsession; public void setSqlSession (sqlSession sqlSession) {this.SqlSession = sqlSession; } public user getUser (string userId) {return (user) sqlSession.selectone ("org.mybatis.spring.sample.mapper.usermapper.getuser", userId); }}Inject sqlSessionTemplate следующим образом:
<bean id = "userdao"> <name = "sqlsession" ref = "sqlsession"/> </bean>
SQLSessionDaoSupport
SQLSessionDaoSupport - это абстрактный класс поддержки, используемый для предоставления вам SQLSession. Вызов метода getSqlSession () вы получите SQLSessionTemplate, который затем можно использовать для выполнения метода SQL, например:
открытый класс userDaoImpl Extends sqlSessionDaoSupport реализует userdao {public user getUser (string userId) {return (user) getSqlSession (). selectone ("org.mybatis.spring.sample.mapper.usermapper.getuser", userId); }} Обычно MapperFactoryBean является первым выбором для этого класса, потому что он не требует дополнительного кода. Однако, если вам нужно выполнять другие не-мибатские работы в DAO или нуждаться в конкретных классах, этот класс полезен. SQLSessionDaoSupport требует SQLSessionFactory или SQLSessionTemplate для установки. Они явно настроены или автоматически собираются к весне. Если оба установлены, то SQLSessionFactory игнорируется.
Предположим, что класс Usermapperimpl является подклассом SQLSessionDaoSupport, его можно настроить следующим образом следующим образом:
<bean id = "usermapper"> <name = "sqlSessionFactory" ref = "sqlSessionFactory"/> </bean>