zoukankan      html  css  js  c++  java
  • 理论题: 浅谈mybatis优缺点

    • 优点:

      1. 易于上手和掌握。
      2. sql写在xml里,便于统一管理和优化。
      3. 解除sql与程序代码的耦合。
      4. 提供映射标签,支持对象与数据库的ORM字段关系映射
      5. 提供对象关系映射标签,支持对象关系组建维护
      6. 提供xml标签,支持编写动态sql。
    • 缺点:

      1. sql工作量很大,尤其是字段多、关联表多时,更是如此。
      2. sql依赖于数据库,导致数据库移植性差。
      3. 由于xml里标签id必须唯一,导致DAO中方法不支持方法重载
      4. 字段映射标签和对象关系映射标签仅仅是对映射关系的描述,具体实现仍然依赖于sql。(比如配置了一对多Collection标签,如果sql里没有join子表或查询子表的话,查询后返回的对象是不具备对象关系的,即Collection的对象为null)
      5. DAO层过于简单,对象组装的工作量较大。
      6. 不支持级联更新、级联删除。
      7. 编写动态sql时,不方便调试,尤其逻辑复杂时。
      8. 提供的写动态sql的xml标签功能简单(连struts都比不上),编写动态sql仍然受限,且可读性低。
      9. 若不查询主键字段,容易造成查询出的对象有“覆盖”现象。
      10. 参数的数据类型支持不完善。(如参数为Date类型时,容易报没有get、set方法,需在参数上加@param)
      11. 多参数时,使用不方便,功能不够强大。(目前支持的方法有map、对象、注解@param)
      12. 缓存使用不当,容易产生脏数据。
    萝卜青菜各有所爱,我曾经使用过HIbernate/MyBatis/JdbcTemplate等工具类,感觉都差不多!
    作者:胖先森
    链接:https://www.jianshu.com/p/6a10641cc695
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    Python正则表达式(3)--字符串匹配开头结尾
    Python正则表达式(2)---字符串匹配多个字符
    Python正则表达式(1) --匹配单个字符
    Navicate Premium 永久破解
    升级pip指令
    爬虫(自学)之User Agent 第三方库my_fake_useragent 和 fake_useragent
    django drf 反序列化上传图片
    git的使用
    python 爬虫 基本库使用urllib之urlopen(一)
    吉他入门第三讲~~~~~和弦
  • 原文地址:https://www.cnblogs.com/it-deepinmind/p/13389811.html
Copyright © 2011-2022 走看看