【JavaWeb】 Mybatis-01-Mybatis 的简介:用对话的方式让你明白为什么要使用 Mybatis
一、什么是 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 代码以及设置参数和获取结果集的工作
评论