SQLSessionTemplate
O SQLSessionTemplate é o núcleo de Mybatis-Spring. Esta classe é responsável por gerenciar o SQLSession da Mybatis, chamando o método SQL da Mybatis e traduzindo exceções. O SQLSessionTemplate é seguro e pode ser compartilhado e usado por vários DAOs.
Ao chamar os métodos SQL, ele contém o método retornado do método Mapper GetMapper (). O SQLSessionTemplate garantirá que o SQLSession usado esteja relacionado à transação atual da mola. Além disso, ele gerencia o ciclo de vida da sessão, incluindo as operações necessárias de fechamento, comprometimento ou reversão.
O SQLSessionTemplate implementa o SQLSession, o que significa que é necessário simplesmente substituir o SQLSession of Mybatis.
O SQLSessionTemplate é geralmente usado para substituir a implementação padrão do MYBATIS do padrãoSQLSession, pois não pode participar de transações de primavera ou injetado porque é inseguro. A transformação entre duas classes no mesmo aplicativo pode causar problemas com a consistência dos dados.
O objeto SQLSessionTemplate pode ser criado usando o SQLSessionFactory como um parâmetro para construir o método.
)
Este feijão agora pode ser injetado diretamente no feijão Dao. Você precisa adicionar uma propriedade SQLSession ao feijão, como o seguinte código:
classe pública userdaoimpl implementa Userdao {private SQLSession sqlSession; public void SetsqlSession (sqlSession sqlSession) {this.sqlSession = sqlSession; } user public user getUser (string userId) {return (user) sqlsession.leclectone ("org.mybatis.spring.sample.mapper.userMapper.getUser", userID); }}Injete o SQLSessionTemplate da seguinte forma:
<bean id = "userdao"> <nome da propriedade = "sqlSession" ref = "sqlSession"/> </i bean>
SQLSessionDaosupport
O SQLSessionDaosupport é uma classe de suporte abstrata usada para fornecer a você o SQLSession. Chamando o método getSqlSession (), você obterá um sqlSessionTemplate, que pode ser usado para executar o método SQL, como este:
classe pública userdaoimpl estende o sqlsessionDaosupport implementa UserDao {public user getUser (string userID) {return (user) getSqlSession (). SelectOne ("org.mybatis.spring.sample.mapper.userMapper.getUser", userId); }} Normalmente, o MapperFactoryBean é a primeira opção para esta classe, porque não requer código extra. No entanto, se você precisar fazer outros trabalhos não-mybatis no DAO ou precisar de classes específicas, essa classe é útil. O SQLSessionDaosupport requer uma propriedade SQLSessionFactory ou SQLSessionTemplate para definir. Estes são configurados explicitamente ou montados automaticamente na primavera. Se ambos estiverem definidos, o SQLSessionFactory será ignorado.
Suponha que a classe UsermApperImpl seja uma subclasse de SQLSessionDaosupport, pode ser configurada da seguinte maneira na primavera:
<bean id = "userMApper"> <propriedade name = "sqlSessionFactory" ref = "sqlSessionFactory"/> </siean>