日期:2014-05-18  浏览次数:20647 次

Mybatis 单实例DAO怎样保证session唯一
我用Mybatis和Spring整合,DAO是单实例的,怎样在DAO中让每一个线程拿到不同的session?
sqlSessionFactory我用spring管理起来了。

hibernate在spring管理事务的情况下可以通过getCurrentSession获取spring管理的那个session?Mybatis应该怎样获得呢?openSession()方法貌似是开启一个新的session

------解决方案--------------------
你是想想实现线程单例吗。java有个线程的类,保证一个用户拥有一个唯一的线程,也就是唯一的SqlSession;
ThreadLocal这个类。实现单例SqlSession的话,就这样private static ThreadLocal<SqlSession> tl=new ThreadLocal<SqlSession>();这样就ok啦