mybatis和ibatis区别

  1. ibatis3.*版本以后正式改名为mybaits,它也从apache转到了google code下;也就是说ibatis2.*,mybatis3.*。
  2. 映射文件的不同
  Mybatis实现了接口绑定,使用更加方便。 
   在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件, 
  而Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生成接口的具体实现,使用时不需要通过SqlMapClient去指定namespace 和 sql statement id, 只需要在 sql       map config 文件中指定接口的 namespace, 并且sql statement id 和 接口的名字意义对应,然后调用对一个接口即可。
  

ibatis的配置文件如下

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <!DOCTYPE sqlMapConfig        
  4.     PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"        
  5.     "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">  
  6.   
  7. <sqlMapConfig>  
  8.     <!-- 公共配置 -->  
  9.     <settings useStatementNamespaces="true" maxRequests="3000"  
  10.         maxSessions="1000" maxTransactions="3000" />  
  11.           
  12.     <!-- 配置文件        begin -->      
  13.     <sqlMap resource="com/test/biz/dao/sql/AA_SqlMap.xml" />  
  1. <pre name="code" class="html">    <sqlMap resource="com/test/biz/dao/sql/BB_SqlMap.xml" />  
</sqlMapConfig>
 
  mybatis的配置文件如下
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE configuration  
  3.     PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  4.     "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  5. <configuration>  
  6.   
  7.     <settings>  
  8.         <!-- changes from the defaults for testing -->  
  9.         <setting name="cacheEnabled" value="false" />  
  10.         <setting name="useGeneratedKeys" value="true" />  
  11.         <setting name="defaultExecutorType" value="REUSE" />  
  12.         <!-- 延迟加载 -->  
  13.         <setting name="lazyLoadingEnabled" value="true" />  
  14.         <setting name="aggressiveLazyLoading" value="false" />  
  15.     </settings>  
  16.     <mappers>  
  17.         <mapper resource="com/test/biz/dao/sql/AAMapper.xml"/>  
  18.     </mappers>  
  19. </configuration>  
  2.5.1 ibatis中根元素是sqlMap,mybatis中是mapper;
  2.5.2 在 iBatis 中,namespace 不是必需的,且它的存在没有实际的意义。在 MyBatis 中,namespace 终于派上用场了,它使得映射文件与接口绑定变得非常自然。
  2.5.3 ibatis中有resultMap和resultClass两种返回类型,resultMap是我们在ibatis的配置文件中定义的,也就是在配置文件中使用resultMap元素定义的;resultClass是指Java语言中内置的类型,如:integer、java.util.HashMap等等;
  mybatis中将两者统一为resultType,这样挺好的,开发者不用再记两个属性了。
  2.5.4 ibatis中有parameterClass,mybatis中有parameterType,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/wanghp/p/6950177.html