Mybatis的优缺点知多少


优点

​1. 易于上手和掌握

​2. sql写在xml里,便于统一管理和优化。

​3. 解除sql与程序代码的耦合。

​4. 提供映射标签,支持对象与数据库的orm字段关系映射

​5. 提供对象关系映射标签,支持对象关系组建维护

​6. 支持xml方式开发,提供xml接口映射文件,编写动态sql

​7.支持注解方式开发,在持久层接口类引入注解


缺点

​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以及默认采用012索引位的方式)

​​​12. 缓存使用不当,容易产生脏数据。


愿你就像早晨八九点钟的太阳,活力十足,永远年轻。

MyBatis(九)------MyBatis的优缺点知多少相关推荐

  1. MyBatis(九):MyBatis类型处理器(TypeHandler)详解

    TypeHandler简介 TypeHandler,顾名思义类型转换器,就是将数据库中的类型与Java中的类型进行相互转换的处理器. MyBatis 在设置预处理语句(PreparedStatemen ...

  2. Mybatis和hibernate的优缺点比较

    Hibernate :Hibernate 是当前最流行的ORM框架,对数据库结构提供了较为完整的封装. Mybatis:Mybatis同样也是非常流行的ORM框架,主要着力点在于POJO 与SQL之间 ...

  3. MyBatis和Hibernate的优缺点对比

    Hibernate的优点: 1.hibernate是全自动,hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql. 2.功能强 ...

  4. 【Mybatis】Mybatis学习由浅入深(二)

    前言   上篇介绍到了Mybatis的优缺点,这篇接下来介绍一下流程情况和配置信息. MyBatis简介 Mybatis工作流程 加载配置信息初始化 通过配置文件或注解将配置信息加载成Statemen ...

  5. mybatis面试(MyBatis怎么读)

    java两年经验面试都会问什么问题 个人介绍: 首先介绍下我面试时的自身条件情况,我把自己的情况分为优势和劣势来说可能更有利于你们比较自身情况. 1.15年7月毕业后开始到上海工作,面试的时候是17年 ...

  6. MyBatis二 MyBatis常见面试题

    一 MyBatis是什么? MyBatis是一款优秀的持久层框架,一个半ORM (对象关系映射)框架,它支持定制化SQL.存储过程以及高级映射.MyBatis避免了几乎所有的JDBC代码和手动设置参数 ...

  7. 【MyBatis】MyBatis对Log4J的支持、MyBatis实现新增、删除、修改、查询

    准备:数据库数据 people表 people表数据 eclipse项目结构 一.注解 注解存在的意义:简化xml 文件的开发. 注解在servlet 3.0 规范之后大力推广的. 注解前面的@XXX ...

  8. Mybatis 和 Mybatis Plus 的区别

    Mybatis Plus Mybatis-Plus是一个Mybatis的增强工具,只是在Mybatis的基础上做了增强却不做改变,MyBatis-Plus支持所有Mybatis原生的特性,所以引入My ...

  9. Mybatis 和 Mybatis Plus 的区别 2020.09.07

    Mybatis Plus Mybatis-Plus是一个Mybatis的增强工具,只是在Mybatis的基础上做了增强却不做改变,MyBatis-Plus支持所有Mybatis原生的特性,所以引入My ...

  10. (Mybatis)Mybatis简介和初步使用

    1. Mybatis简介 1.1什么是Mybatis MyBatis 是一款优秀的持久层框架 它支持定制化 SQL.存储过程以及高级映射. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参 ...

最新文章

  1. 怎么使用html及jsp开发,jsp怎么用css
  2. thinkphp视频截图_thinkphp开发的搞笑视频网站
  3. html页面头部里的meta
  4. 河南理工大学新生挑战赛【部分题题解】
  5. php 相册分类,这款不需要网络就可以智能识别分类照片,让你的相册不再混乱...
  6. 使用BeetleX网关对Web应用进行灰度发布
  7. matlab fgetl用法,Matlab fgetl strsplit 函数
  8. 安装centos7的电脑对比视频播放
  9. 软件测试面试题-接口测试
  10. Navicat 常用快捷键
  11. 读论文笔记(1)——web文本挖掘技术研究
  12. 计算机需要那些高中数学知识点,高中必考数学知识点归纳整理
  13. 遭遇 kapjazy.dll,yhpri.dll,WinSys64.Sys,nwiztlbu.exe,myplayer.com 等2
  14. Arcgis 空间分析—学校选址
  15. I'm coming now.
  16. 安卓 阿拉伯语显示时文字的适配
  17. 安装texlive时出现No such file or directory问题
  18. S32K144 CAN收发调试经验总结
  19. oracle 执行计划(F5)详解
  20. 用asp怎样编写文档搜索页面

热门文章

  1. 【Shiro第七篇】SpringBoot + Shiro实现会话管理
  2. XML解析成实体类统一工具类
  3. Oracle查询优化改写技巧与案例总结四
  4. spring aop和事务同时开启带来的一些问题
  5. 2018-2019-1 20189218《Linux内核原理与分析》第二周作业
  6. Java I/O 全面详解
  7. Js脚本之jQuery学习笔记(1)
  8. poj 2157 Maze(bfs)
  9. android Fragment 动画 设置位置
  10. 效果实现JS实现飞雪飘飘的效果