zoukankan      html  css  js  c++  java
  • 关于sqlSessionTemplate

    SqlSessionTemplate是MyBatis-Spring的核心。这个类负责管理MyBatis的SqlSession,调用MyBatis的SQL方法,翻译异常。SqlSessionTemplate是线程安全的,可以被多个DAO所共享使用。
    当调用SQL方法时,包含从映射器getMapper()方法返回的方法,SqlSessionTemplate将会保证使用的SqlSession是和当前Spring的事务相关的。此外,它管理session的生命周期,包含必要的关闭,提交或回滚操作。
    SqlSessionTemplate实现了SqlSession,这就是说要对MyBatis的SqlSession进行简易替换。
    SqlSessionTemplate通常是被用来替代默认的MyBatis实现的DefaultSqlSession,因为它不能参与到Spring的事务中也不能被注入,因为它是线程不安全的。相同应用程序中两个类之间的转换可能会引起数据一致性的问题。
    SqlSessionTemplate对象可以使用SqlSessionFactory作为构造方法的参数来创建。

    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> 
      <constructor-arg index="0" ref="sqlSessionFactory"/> 
    </bean> 

    这个bean现在可以直接注入到DAO bean中。你需要在bean中添加一个SqlSession属性,就像下面的代码:

    public class UserDaoImpl implements UserDao{ 
      private SqlSessionTemplate sqlSessionTemplate; 
      public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate){ 
        this.sqlSessionTemplate = sqlSessionTemplate; 
      } 
      public User getUser(String userId){ 
        return (User)sqlSessionTemplate.selectOne ("org.mybatis.spring.sample.mapper.UserMapper.getUser",userId); 
      } 
    } 

    如下注入SqlSessionTemplate:

    <bean id="userDao" class="org.mybatis.spring.sample.dao.UserDaoImpl"> 
      <property name="sqlSessionTemplate" ref="sqlSessionTemplate"/> 
    </bean>
  • 相关阅读:
    obs问题记录
    树莓派数字识别相关资料
    Focus Event
    跨浏览器的事件对象
    浅谈Javascript事件模拟
    浅谈Javascript鼠标和滚轮事件
    UI Events
    IE事件对象(The Internet Explorer Event Object)
    eclipse 调试nodejs 发生Failed to connect to standalone V8 VM错误的解决方案
    关于couldn't connect to server 127.0.0.1 shell/mongo.js:84 exception: connect failed 问题
  • 原文地址:https://www.cnblogs.com/lxcmyf/p/7142597.html
Copyright © 2011-2022 走看看