一、Mybatis 框架简介
Mybatis 框架是现阶段最流行的一款持久层框架,这款框架的出现大大简化了数据库连接以及各种数据操作的实现代码。
以往使用 JDBC 虽然可以实现连接数据库并通过 JAVA 代码来控制 SQL 语句实现数据的增删改查操作,但其实现的过程相当的繁琐,需要手动配置一些参数,还需要获取结果集。
Mybatis 框架直接省去了几乎全部的 JDBC 代码和手动配置以及手动获取数据结果集,简化为通过 XML 文件的形式来配置数据库连接操作,并通过高级映射的形式将 XML 文件和接口以及实体类创建联系,并且将数据结果集获取出来。
-
持久层(Dao 层)
- 和数据库直接打交道的层。持久层就是数据持久化,也就是将数据存储到数据库中。
- 和数据库直接打交道的层。持久层就是数据持久化,也就是将数据存储到数据库中。
-
传统的三层架构
-
持久层 (Dao层)
- 采用 Dao 模式,建立实体类和数据库表映射(ORM映射)。也就是哪个类对应哪个表,哪个属性对应哪个列。持久层 的目的就是,完成对象数据和关系数据的转换。
-
业务层(逻辑层、service层)
- 采用事务脚本模式。将一个业务中所有的操作封装成一个方法,同时保证方法中所有的数据库更新操作,即保证同时成功或同时失败。避免部分成功部分失败引起的数据混乱操作。
-
表现层(MVC模式)
- M称为模型,也就是实体类。用于数据的封装和数据的传输。
- V为视图,也就是GUI组件,用于数据的展示。
- C为控制,也就是事件,用于流程的控制
-
二、Mybatis 框架的开发流程
在以往使用 JDBC 开发时,一些数据库配置,和一些 sql 语句的编写,以及代码的业务层逻辑处理,与模型层的数据封装等内容都是在 Java 代码中实现的,这就显得代码层次看着有些“杂乱无章”,维护起来也略显繁琐。
但随着 MyBatis 框架的出现,成功的解决了这个问题,并且使代码层次更加分明,使用代码层次一目了然,简单且容易维护。
-
MyBtais 框架开发过程
MyBatis 将数据库操作都转移到了 XML 文件当中,并且数据库配置与 SQL 语句的编写分别在不同的 XML 文件中进行,配置数据库的 XML 文件的名称通常定义为 mybatis-config.xml ,然后将使用该数据源的 XML 都配置在 mybatis-config.xml 中,完成数据源的映射,每当调用这些 XML 文件时,都会找到该数据源。
在编写 SQL 语句的 XML 中,有一个 mapper 标签,将该标签的 namespace 属性指定为 mapper 接口的路径,完成 mapper 接口的整体映射。在写 SQL语句的 XML 文件中可以定义各种 SQL 标签(select、insert、update、delete),通过将 SQL 标签中的 id 属性与 mapper 接口中的抽象方法匹配而使该 sql 与 该抽象方法产生映射关系,并通过 parameterType 属性和 resultType 属性指定实体类路径的形式与实体类产生映射关系。
MyBatis 将数据库相关操作的代码都放到了 XML 文件当中,并且通过映射的形式与 Java 代码中的实体类与 mapper 接口产生关联,完完全全的颠覆了以往的代码书写格式,不同类型的代码放到不同的位置去维护,使代码更加纯粹与简洁,大大的简化了开发的复杂性与难维护性。并且将数据库配置和 sql 语句的编写以及各个环节的映射关系都集中在 XML 文件当中,只需要维护好各个环节的相关映射关系即可。