mybatis的sqlsession如何控制并发

目前看mybatis源码时,看到一个问题,关于并发的。
问题连接: http://www.iteye.com/problems/99255
问题大概描述为:
目前看mybatis源码时(看的很浅)一个问题一直没搞明白,我这边是主流的spring+mybatis。
问题如下:
每个dao都继承了 SqlSessionDaoSupport,而dao操作数据库的时候是用的父类SqlSessionDaoSupport的sqlSession,这个sqlSession是SqlSessionDaoSupport的一个变量
不明白的地方就在于:在启动tomcat的时候spring已经初始化了dao,由于dao是单例的,我的理解这样sqlSession对象也是同一个,同时,我在页面进行了多次查询发现sqlSession的对象的确是同一个。
大家都说sqlSession是不同的线程是不相同的。这个是怎么回事?并发怎么控制的?
一直困惑,看到热心人的回复,有了启发。于是看了下SqlSessionTemplate,
发现sqlsession的确通过SqlSessionTemplate运用动态代理的方法,进行控制并发的。
参见:
引用 http://longlongchang.blog.51cto.com/4725201/1171019
写的很详细

猜你喜欢

转载自zhx870127-hotmail-com.iteye.com/blog/1990257