一、MyBatis的简介

一、MyBatis的简介

1.1、学习MyBatis需要用到的技术

​   JDBC、Mysql、Java基础、Maven、Juint

​   学习MyBatis最好的方法就是官方文档:https://mybatis.org/mybatis-3/index.html

​   MyBatis的源码地址:https://github.com/mybatis/mybatis-3

1.2、MyBatis的作用

​   MyBatis 是一款优秀的持久层框架。

​   MyBatis 支持自定义 SQL、存储过程以及高级映射(方便写Mysql),MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。

​   MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

1.3、持久化与持久层

​   持久化是将程序数据在持久状态和瞬时状态间转换的机制。通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。我们的程序在运行时说的持久化通常是指将内存的数据存储在硬盘中。完成持久化的技术比较多,如 jdbc(基础操作),ORM 框架。

​   持久层就是指完成持久化工作的代码块,层的界限是十分明显。

1.4、ORM

​   ORM,即对象关系映射(Object-Relation Mapping),通过 Java 对象与数据库关系表的映射实现数据的持久化,在操作数据库时需要使用 SQL 语句并对结果进行封装,而 ORM 框架要达到的效果是简化数据库的开发,让数据库操作的过程更加自动化。即就是我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。ORM 框架:Hibernate,MyBatis,JPA。

1.4.1、JPA

​   JPA(Java Persistence API)是Java持久化规范,是ORM框架的标准,主流ORM框架都实现了这个标准。

1.4.2、Hibernate

​   Hibernate:是一个完全的 ORM 框架,在 Hibernate 中可以不编写任何 SQL 语句实现对数据库的操作,在使用 Hibernate 操作时如果需要对 SQL 语句进 行优化,调整则较麻烦,Hibernate 的学习成本较高,目前在使用时 Hibernate 主要集中在项目需求变化不大场景使用。

1.4.3、MyBatis

​   MyBatis:不完全的 ORM 框架,在 MyBatis 中需要使用大量的 SQL 语句来实现数据库操作,由于 MyBatis 中需要开发人员编写 SQL 语句,则对 SQL 的优化、调整变的就极为简单,MyBatis 比较适合应用需求变化较多的应用场景,MyBatis 学习成本比较低。

1.5、MyBatis的优点与缺点

​   1、sql语句与代码分离,存放于xml配置文件中:

​     优点:便于维护管理,不用在Java代码中找这些语句;

​     缺点:JDBC方式可以用打断点的方式调试,但是MyBatis不能,需要通过log4j日志输出信息帮助测试,然后在配置文件中修改。

​   2、用逻辑标签控制动态SQL的拼接:

​     优点:用标签代替编写逻辑代码;

​     缺点:拼接复杂SQL语句时,没有代码灵活,拼写比较复杂。不要使用变通的手段来应对这种复杂的语句。

​   3、查询的结果集与java对象自动映射:

​     优点:保证名称相同,配置好映射关系即可自动映射或者不配置映射关系,通过配置列名(字段名)也可完成自动映射。

​     缺点:对开发人员所写的SQL依赖很强。

​   4、编写原生SQL:

​     优点:接近JDBC,比较灵活。

​     缺点:对SQL语句依赖程度很高;并且属于半自动,数据库移植比较麻烦,比如mysq|数据库编程Oracle数据库,部分的sql语句需要调整。

猜你喜欢

转载自blog.csdn.net/qq_52916408/article/details/121582008