回顾DAO层代码,以查询学生表记录数为例,直接使用JDBC和MyBatis查询的两种实现方式的代码如图所示:

     Class.forName("com.mysql.jdbc.Driver");Connection connection=DriverManager.getConnection(url, user, password);String sql="select count(*) from student";PreparedStatement pstmt = connection.prepareStatement(sql);ResultSet rs = pstmt.executeQuery();if(rs.next()) {int count=rs.getInt(1);}/******************************分隔线*******************************/<mapper namespace="com.xyj.dao.StuDao"><select id="findCount" resultType="int">select count(1) from student </select></mapper>

用JDBC查询返回的是ResultSet对象,ResultSet往往并不能直接使用,还需要转换成其他封装类型,通过JDBC查询并不能直接得到具体的业务对象。这样,在整个查询过程中就需要做很多重复性的转换工作。

MyBatis框架的优点

  1. 与JDBC相比,减少了50%以上的代码量
  2. MyBatis是最简单的持久化框架,小巧并简单易学
  3. MyBatis相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序中彻底分离,降低耦合度,便于统一管理和优化,并可重用。
  4. 提供XML标签,支持编写动态SQL语句
  5. 提供映射标签,支持对象与数据库的ORM字段关系映射

MyBatis框架的缺点

  1. SQL语句编写工作量较大,对开发人员编写SQL语句的功底有一定要求。
  2. SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。

MyBatis框架适用场合

MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。对性能的要求很高,或者需求变化较多的项目,如互联网项目,那么MyBatis将是不错的选择。

MyBatis框架的优缺点及其适用场合相关推荐

  1. Mybatis框架简介

    一.Mybatis框架简介 MyBatis框架是一个开源的数据持久层框架.它的内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询.存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工 ...

  2. jdbc,mybatis,hibernate各自优缺点及区别

    jdbc,mybatis,hibernate各自优缺点及区别 先比较下jdbc编程和hibernate编程各自的优缺点. JDBC: 我们平时使用jdbc进行编程,大致需要下面几个步骤:1,使用jdb ...

  3. 1. MyBatis框架介绍

    1. MyBatis框架介绍 1. 框架概述 程序开发中框架(framework)往往是对常见功能的封装,可以把框架理解为软件的设计规范或者标准化的组件,好比机械中的螺丝螺母等标准的机械部件 假如你要 ...

  4. Java--SSH,SSM和Spring Boot框架区别优缺点

    一.SSH(Struts + Spring + Hibernate) 1.基本概念 SSH框架是JAVA EE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成 集成SS ...

  5. 解析SSM框架的优缺点

    一.SSM优缺点应该分开来说的,比如 1)spring 不说了,核心ioc.aop技术,ioc解耦,使得代码复用,可维护性大幅度提升,aop提供切面编程,同样的增强了生产力. 2)spring mvc ...

  6. Mybatis框架面试典籍30+ | 大别山码将

    Mybatis 什么是MyBatis?优缺点及适用场景 Mybatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数 ...

  7. MyBatis框架的优点

    使用MyBatis的好处 一.MyBatis框架的优点: 1. 与JDBC相比,减少了50%以上的代码量. 2. MyBatis是最简单的持久化框架,小巧并且简单易学. 3. MyBatis灵活,不会 ...

  8. MyBatis框架的作用

    1.什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架.前者是从应用方面而后者是从目的方面 ...

  9. SSM三个框架的优缺点。

    SSM框架:spring+springmvc+mybatis框架集合: 一.mybatis的优缺点: 优点:a.sql写在xml文件中,便于统一管理和优化,解除sql和程序代码的耦合. b.提供映射标 ...

最新文章

  1. Alpha阶段项目总结
  2. 【C 语言】字符串操作 ( 使用 数组下标 操作字符串 | 使用 char * 指针 操作字符串 )
  3. Win10系统在运行界面cmd出现ipconfig命令无法使用的情况的解决办法!!
  4. JavaWeb结合七牛云存储搭建个人相册服务
  5. Web服务安全性和SOA路线图的人为维度
  6. [Ext JS6] ViewControllers-视图控制器
  7. 简单web服务器的实现(C++)
  8. ContextCapture(CC)/Smart3D集群搭建笔记
  9. 双向三相交错并联DC-DC变换器
  10. 小米笔记本桌面计算机图标,小米笔记本桌面锁定怎么解除
  11. cas 计算器 android,GeoGebra CAS计算器
  12. Minitab中的一些最常用的功能和任务。
  13. CSS中常用选择器总结
  14. 基于Proteus学习单片机系列(七)——实时时钟DS1302
  15. Kafka概述-什么是Kafka?
  16. systemd的日志存在哪里?
  17. 科技类毕业论文文献有哪些?
  18. ACdream原创群赛(11)の风神日华神专场 G - 风之国
  19. 如何将解压的ISO系统文件重新恢复成ISO系统镜像
  20. Android开发-优雅的实现动态图片排版(类似微信图片展示效果)

热门文章

  1. 使用xgboost进行特征选择
  2. 2021-11-10----韩顺平Java入门第七天
  3. 使用java完成一个猜数字的小游戏(数据范围在1-100之间)
  4. 解析数据时候  奇葩属性名字解决方法
  5. 刘长炯老师的java 学习大草原
  6. 计算机组装员工资,电脑组装员实习体会感想
  7. unity把公共方法在Inspector 界面上实现一个按钮点击直接调用的最快最方便的方式
  8. 查找统计python列表中的重复元素
  9. 雷达距离分辨力的推导
  10. Docker启动报错:Job for docker.service failed because the control process exited with error code. See “sy