zoukankan      html  css  js  c++  java
  • transactionManager的type与dataSource的type

    1. 在ibatis的配置文件中dataSource 节点有这么个配置<datasource type="SIMPLE"></datasource>,根据原文下的解释知道其中type有SIMPLE,DBCP,JNDI三 种.我想问下这三种类型的区别在于哪里, 在什么情况下用到,常用的是哪个 ,及它的优点在于哪里?

    看情况,simple用于测试,dbcp是采用dbcp做数据源,jndi是使用app server提供的数据源 
    一般来说,在实际应用中jndi用的比较多,simple用于测试 
    不过,多说了一句,dataSource一般都是在spring中创建或管理,所以和spring集成时,很少使用ibatis的dataSource节点


    2.在 <transactionmanager type="JDBC"> </transactionmanager> 这个配置中有type也有JDBC,JTA,EXTERNAL.我想问下基于JDBC,及JTA的事务可以应用到哪中程度.而对EXTERNAL在什么情况下会用到?

    JDBC使用 数据库自己的事务(局部事务),connect.beginTranstion(), connect.commit()等 
    JTA : 使用jta 事务管理器管理事务(全局事务),使用userTranstion对象 
    External: 自己(Ibatis)不控制事务,事务交由外部控制,一般在CTM,或spring托管事务中使用

    常用的是External,应为在我的应用中,事务都是用spring托管的,如果不是,那就就用jdbc,如果在app server中,你又不想使用容器托管事务,那就用JTA

    3.在开发指南中提到"ibatis 的缓存机制使用必须特别谨慎",我想问下,ibatis中cache用到的地方大不大,如果不用会出现哪写不好的清况,因为我知道hibernate中缓冲机制是它的一个亮点,那ibatis中又是怎么样呢?

    基本上用处不大(可能会有很多人和我的观点不同) 
    ibatis 是个sql拼装器,强调的是直接与数据库打交道,sql的质量决定了最后的效率,再说数据库本身就提供的cache。类似many to one , many to many , one to one 的Hibernate的产物,可以直接做成视图,在使用ibatis去查询,这样可以充分的使用使用db自己的cache

     

    1
    2
    3
    4
    </ dataSource >
        </ transactionManager >
        < sqlMap  resource ="com/wyq/map/userMap.xml" />
     </ sqlMapConfig >

      


    JNDI的配置大部分都在应用服务器中进行,所以在ibatis中的配置相对简单
    (1)jdbc事务控制的JNDI配置
        

     
    1
    2
    3
    4
    5
    < transctionManager  type ="JDBC" >
              < dataSource  type ="JNDI" >
                  < property  name ="DataSource"  value ="java:comp/env/jdbc/myDataSource" />
              </ dataSource >
          </ transctionManager >

      


    (2)JTA事务控制的JNDI配置
        
     
    1
    2
    3
    4
    5
    6
    < transctionManager  type ="JTA" >
              < property  name ="UserTransaction"  value ="java:/ctx/con/UserTransaction" />
              < dataSource  type ="JNDI" >
                  < property  name ="DataSource"  value ="java:comp/env/jdbc/myDataSource" />
              </ dataSource >
          </ transctionManager >
  • 相关阅读:
    Windows Server 2003 SP2(32位) 中文版 下载地址 光盘整合方法
    用Recycle()方法对Java对象的重要性
    Lotus中千奇百怪的 $$
    Developing a simple application using steps "User Decision" and "Mail"(1) 沧海
    沟通中的情绪管理(演讲稿) 沧海
    人只有在压力之下,才可能成功,没做一件事,都必须成功,不许言败 沧海
    什么是IDOC,以及IDOC的步骤 沧海
    VS2008 Professional Edition CHS中的deffactory.dat读取错误 沧海
    Including custom text in the step "User Decision" 沧海
    SAP Upgrade Strategy 沧海
  • 原文地址:https://www.cnblogs.com/superws/p/5881867.html
Copyright © 2011-2022 走看看