• 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,
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    angular笔记_6
    angular笔记_5(全选/反选)
    angular笔记_4(函数)
    angular笔记_3
    angular笔记_2
    常用Sql语句
    IIS服务器环境下某路径下所有PHP接口无法运行报500.19错误
    #前端#文字、图像等元素居中方式之
    nginx如何设置禁止访问文件或文件夹
    git克隆和上传项目
  • 原文地址:https://www.cnblogs.com/wanghp/p/6950177.html
Copyright © 2020-2023  润新知