精华帖 (0) :: 良好帖 (9) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-03-12
差不多三个月前写过一个ibatis的帖子,关于里面如下问题,想问下
http://www.iteye.com/topic/1119106 实际使用遇到的问题 关于配置复杂的问题 看下官方文档高级映射,就知道这个难度不大,写着麻烦,配置很繁琐,为了一个特殊的查询是否有必要取那样做,前后端都hashmap,跨过model映射这个,如果要自己写,你的model要符合,我们的model不满足,全部直接都hashmap |
|
返回顶楼 | |
发表时间:2012-03-12
learnworld 写道
使用SqlMapClientImpl是可以实现线程安全的,我没有清晰理解spring为何这样实现(每次重新创建),或许spring本身的实现就不是最好的,呵呵,求达人解释~ 一个可能的原因是,同一个容器处理线程在处理不同请求时,如果使用ThreadLocal,需要在每一个请求处理时完成对,对ThreadLocal中的Session状态进行清理。 而每次重新创建SqlMapSessionImpl,会简化这些操作。 spring的模板处理类已有清理处理操作,回顾SqlMapSessionImpl的整个生命周期,好像只有SessionScope对象的preparedStatements属性是可变的。 public <T> T execute(SqlMapClientCallback<T> action) //已经有清理代码处理的: finally { // Only close SqlMapSession if we know we've actually opened it // at the present level. if (ibatisCon == null) { session.close(); } } 因此,基本可排除只是简化清理操作。 |
|
返回顶楼 | |