【JavaWeb】 Mybatis-01-Mybatis的简介:用对话的方式让你明白为什么要使用Mybatis

举报
游坦之 发表于 2022/10/23 19:31:24 2022/10/23
【摘要】 一、什么是Mybatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 小游:什么是持...

一、什么是Mybatis?

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

小游:什么是持久层?

坦之:说到持久层,就不得不提Java EE里面的三层架构:表现层业务层持久层
其中表现层是用来做页面展示的,业务层是用来做逻辑处理的(如对网页请求的处理)、持久层是将数据保存到数据库的(和数据库打交道)

小游:那什么是框架呢?

坦之:框架就是一个半成品的软件,是一套可重复用的通用的、软件基础代码模型。也就是说写一个项目,框架给你处理了一半的代码,而自己在写一半代码,这样就完成了整个项目。比如涂石膏,本来你需要自己雕刻石膏,然后涂上颜色。现在市场上有人制作了石膏,而你则只需要负责涂上颜色。所以在框架的基础上构建软件编写更加的高效规范通用可拓展

二、为什么要引入Mybatis?

小游:同样是处理持久层业务,我手里的JDBC不香了吗?

坦之:JDBC虽然是最基础的连接数据库工具,处理持久层具有强大的力量。但是他的硬编码操作烦琐不适应于这个快速的时代对软件开发的需求。随着人们对软件需求的扩大,人们致力于追求一种更为便捷的,可维护性高的编程工具,Mybatis就是其中的一种。尽管这些编程工具很有B格,但是他们依然是基于JDBC的!

小游:什么是硬编码?

坦之:硬编码的数据通常表示不变的信息,例如物理常量,版本号和静态文本元素。在JDBC中就表现为SQL语句和一些配置,当这些配置被修改的时候,就需要重新打包、重新运行,可维护性就相对差一些。Mybatis基于硬编码的情况,将这些属性和对数据库的操作都写到配置文件里面去,将来读取配置文件即可

在这里插入图片描述
有关数据库属性的被写到配置文件里面去
在这里插入图片描述
有关数据库操作的也写到文件里面去
在这里插入图片描述

小游:硬编码我懂了,操作烦琐又体现在哪呢?

坦之: 在连接数据库的时候,所有的数据库参数都要手动设置,对数据库操作获取的结果集也要手动的封装。如下图:

在这里插入图片描述

坦之:而Mybatis则采用自动完成的方式,它封装了JDBC的代码,只需要采用很简洁的代码就可以完成相应的功能。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作

坦之:所以Mybatis的简介你懂了吗?

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。