如题。这个SqlMapClient有这么些方法:
startTransaction:开启事务
commitTransaction:提交事务
delete
update
insert
...这是不是跟session一个样?但是它又有openSession方法。。这个又跟SessionFactory一个样。
我问这个的缘由是:考虑并发问题。SessionFactory适合用单例吗?适合,Hibernate的Session适合用单例吗?不适合,你觉得sessionFactory.getCurrentSession取出来的session一样吗?如果 两个用户同时访问一个sessionFactory的getCurrentSession,取出来的session肯定是不一样的,因为hibernate的session相当 于一个连接 ,你让一个连接 同时做两个事?那当然 会混乱 吧Hibernate中,简单理解 是:
session相当 于一个Connection, SessionFactory相当于Connection的池子那么 在ibatis中呢,SqlMapClient相当于Connection,还是池子?如果 相当于Connection,那么SqlMapClient不可以 用单例
如果 相当于池子,那么 SqlMapClient可以 用单例
你们明白 我的意思 吗?求大侠!!!!!!!!!
startTransaction:开启事务
commitTransaction:提交事务
delete
update
insert
...这是不是跟session一个样?但是它又有openSession方法。。这个又跟SessionFactory一个样。
我问这个的缘由是:考虑并发问题。SessionFactory适合用单例吗?适合,Hibernate的Session适合用单例吗?不适合,你觉得sessionFactory.getCurrentSession取出来的session一样吗?如果 两个用户同时访问一个sessionFactory的getCurrentSession,取出来的session肯定是不一样的,因为hibernate的session相当 于一个连接 ,你让一个连接 同时做两个事?那当然 会混乱 吧Hibernate中,简单理解 是:
session相当 于一个Connection, SessionFactory相当于Connection的池子那么 在ibatis中呢,SqlMapClient相当于Connection,还是池子?如果 相当于Connection,那么SqlMapClient不可以 用单例
如果 相当于池子,那么 SqlMapClient可以 用单例
你们明白 我的意思 吗?求大侠!!!!!!!!!
解决方案 »
- 如何实现excel的导入和导出
- update信息,过滤出被修改属性,记录更改信息日志,分数可追加
- mysql时间格式的校正
- 请问应用服务器能够同时提供web service吗?
- Mismatched serialization UIDs
- Struts2上传文件问题,真的着急求解!在线等!
- filter中出现的小问题.请帮帮忙.不欢迎灌水!
- struts执行完action.do后,URL仍然保留为最新的*.do,一刷新就重复执行,问题解决就给分,在线等!
- 欢迎大家下载我的软件,下载者有分.
- java中的时间怎么相减(只包含小时和分钟),比如8:10-01:30=06:40
- 在线求高人,解决Spring与Websphere MQ集成实例
- 请问一下有没有人有张小静的struts视频教程呢?
如果session在用的,那么别的线程就会开启一个新的session了。
并没有并发。
SqlMapClient 相当于sessionfactory 吧
ibatis也有自己的session叫SqlMapSession,com.ibatis.sqlmap.client.SqlMapSession
ibatis的并发是通过sqlMapClientImpl中的ThreadLocal来完成的
那么我的SqlMapClient可以用synchrized修饰吗?
该类提供了线程局部变量。这些变量不同于它们的普通对应物,因为访问一个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。每个线程的sqlMapClient在操作时都对应到该线程唯一的一个sqlMapSession;所以sqlMapClient.begeinTransactin()其实等于sqlMapClient.getLocalSqlMapSession().begeinTransactin()