1. MyBatis框架介绍

1. 框架概述

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

假如你要造一辆兰博基尼,在没有框架的情况下,你需要自己去烧锅炉炼钢,然后组成轮子、门、座椅等部件,然后组装起来。但如果你用了框架,就相当于你有现成的轮子、门、座椅等部件,你只需要组装一下就可以了。

一个框架是一组可复用的设计构件

框架(Framework)是整个或者部分系统的可重用设计,是JavaEE底层技术的封装

框架是可以被开发者定制的应用骨架

框架是一个半成品,软件是成品。我们在它的基础上开发出成品

框架解决的问题


  1. 解决了技术通用的问题

    在JavaEE体系中,有着各种各样的技术。不同的软件企业,根据自身的业务需求选择不同的技术,容易造成应用依赖技术,增加了项目开发实现的复杂性和技术风险性。企业项目中应该将应用的设计与实现技术解耦

  2. 提升了开发效率

    企业项目中使用框架,只需要专注实现业务需求。使用框架的方便性,提升了开发效率

  3. 提升了系统稳定性

    一个成熟的框架,经过了在众多企业项目中的验证使用,稳定性有保障

2. 项目的三层架构

没有使用三层架构的场景


1566568755667

生活中的分成架构


小公司:所有的办公区域在一起

1562376118725

大公司:分层明确

1562376144920

三层架构的作用


一个中大型软件开发需要有明确分层

作用
表示层 View 面向客户,处理客户的输入和输出。前端代码
业务层 Service 处理业务逻辑的代码,如:登陆、注册、支付
数据访问层 DAO Data Access Object 面向数据库,提供增删改查的功能,也叫持久层

1566607560103

分层的方式


分层包 功能描述
com.view 表示层
com.service 业务层
com.dao 数据访问层

三层架构的优缺点


  1. 优点

    1. 降低了代码的耦合度,降低类与类之间关系。有利于团队的开发

  2. 项目的可扩展性更好 3. 可维护性更好 4. 可重用性更好,同一个方法可以由多个类去调用

  3. 缺点

    1. 执行效率更低

    2. 开发工作量更大

    3. 会导致级联的修改,如果修改一个功能,导致三层都要进行修改

3. MyBatis框架介绍

MyBatis历史


MyBatis官网:http://www.mybatis.org/mybatis-3/,

image-20210308073121564

框架包下载地址:https://github.com/mybatis/mybatis-3/releases

MyBatis是Apache软件基金会下的一个开源项目,前身是iBatis框架。

2010年这个项目由apache 软件基金会迁移到google code下,改名为MyBatis

2013年11月又迁移到了GitHub(世界上最大的开源网站)

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射

优点:

  1. 简单易学:Mybatis本身就很小且简单,没有任何第三方依赖,最简单安装只要两个jar文件+配置几个SQL映射文件即可  (一般额外加一个jar包: log4j , 主要打印日志的)

  2. 使用灵活:Mybatis不会对应用程序或者数据库的现有设计强加任何影响。SQL语句写在XML里,便于统一管理和优化。(和Hibernate相比)

  3. 解除SQL与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易进行单元测试。SQL语句和代码的分离,提高了可维护性

缺点:

  1. 编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此

  2. SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库

  3. 框架还是比较简陋,功能尚有缺失,二级缓存机制不佳

MyBatis的ORM方式


Object Relational Mapping 对象关系映射

mybatis会将结果集中的每一条记录 映射 成 java的一个实体类对象 (反射)

1566614801843

MyBatis的两种映射方式:

  1. 通过XML映射

  2. 通过注解

1. MyBatis框架介绍相关推荐

  1. mybatis框架介绍

    前端时间学了mybatis,现在终于挤出时间来整理下了. 1.mybatis介绍: 1.MyBatis 原来是apache的一个开源项目ibatis,后来改名为mybatis,所以说ibatis和my ...

  2. (转)MyBatis框架的学习(一)——MyBatis介绍

    http://blog.csdn.net/yerenyuan_pku/article/details/71699343 MyBatis介绍 MyBatis本是apache的一个开源项目iBatis,2 ...

  3. mybatis 存储过程 tmp_count_MyBatis框架介绍及实战操作

    一.基本概念和介绍 数据持久化的概念 数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称.例如,文件的存储.数据的读取等都是数据持久化操作.数据模型可以是任何数据 ...

  4. Mybatis框架详细介绍

    一.Mybatis概述 1. 框架简介 目标 了解什么是框架 理解框架解决的问题 讲解 1.1 什么是框架 框架是整个或部分应用的可重用设计,是可定制化的应用骨架.它可以帮开发人员简化开发过程,提高开 ...

  5. mybatis框架的介绍及使用

    mybatis是什么? 1.mybatis 是一个持久层框架, 主要用于来对***数据库***进行操作,mybtais 底层还是对jdbc的封装. 在工作中只是程序员不需要关注底层怎么封装,需要会使用 ...

  6. mybatis框架的介绍和使用

    1. 正文 1. 介绍mybatis框架. 2. 为什么使用mybatis框架. 3. 如何使用mybatis框架. 4. mybatis完成crud操作. 5. mybatis的一些优化和一些插件的 ...

  7. 【SSM框架系列】Mybatis基本介绍

    原始jdbc操作 //1. 导入驱动jar包//2.注册驱动Class.forName("com.mysql.jdbc.Driver");//3.获取数据库连接对象Connecti ...

  8. Java框架tk_TKmybatis的框架介绍和原理分析及Mybatis新特性

    tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效,下面来看看这个框架的基本使用,后面会对相关源码进行分析,感兴趣的同学可以看一下,挺不错的一个工具 实现对员工表的增删改查 ...

  9. MyBatis框架概述

    MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement.手动设 ...

最新文章

  1. 有什么好用的SaaS软件推荐?
  2. ArrayList如何实现插入的数据按自定义的方式有序存放
  3. Vivado中单端口和双端口RAM的区别
  4. 关于Java API不能远程访问HBase的问题
  5. 无限网络无限连接掉网的解决
  6. 重磅来袭,2018 年 6 月编程语言排行榜
  7. element-ui走马灯如何实现图片自适应
  8. PHP学习笔记五(命名空间)
  9. 记录一下filter
  10. 二阶无源低通滤波器幅频特性曲线_几种无源滤波器的电路及频响特性对比
  11. 二级vb计算机考试试题,全国计算机vb二级考试真题
  12. matlab 短时能量计算+源代码
  13. Typora使用技巧之插入图片及图片上传
  14. 计算图像中任意四个点连成的四边形面积与Ground truth的IOU(Python)
  15. matlab动态图阿基米德螺旋,魔兽世界M基尔加丹阿基米德螺旋线之Matlab动图!国服加油...
  16. Mapgis 到ArcGis 双向转换
  17. 删除pdf签名 acrobat
  18. 【牛津大学博士论文】关系数据的学习和推理
  19. 安装mysql数据库和mysql客户端
  20. asp毕业设计—— 基于asp+access的人事管理系统设计与实现(毕业论文+程序源码)——人事管理系统

热门文章

  1. 游戏约玩app源码开发,重复请求如何处理?
  2. 采集工具助力企业拓客,让你的业务快速扩张
  3. 基于GPT2_Chinese文本自动生成
  4. 对计算机系相关人物进行访谈,瑶湖计算机系副主任姚华访谈录
  5. Chrome常见的好用插件(满分好评)
  6. 数据库Java项目:在线租房出租房屋系统(java+springboot+maven+mysql)
  7. uni-app开发微信小程序使用微信小程序的插件
  8. Typora常用快捷键(仅记录常用功能)
  9. 三次样条插值(附完整代码)
  10. There are no enabled repos. Run “yum repolist all“ to see the repos you have. You can enable repos问题