目l
1.1什么是Mybatis?
Mybatis是一个半自动化的持久层框架,一般我们都分为三层,控制层,业务层,持久层,所谓的持久层就是专门负责写入数据库的层次。
1.2Mybatis的优点是什么?
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。
MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
并且mybatis还给我们提供了很多第三方插件(分页插件 / 逆向工程);
1.3Mybatis有哪些缺点?
编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此
2为什么要使用MyBatis?
现在很多大厂仍然还在使用MyBatis,下面我们来说说Mybatis他到底优势在哪
1.1JDBC
SQL夹在Java代码块里,耦合度高导致硬编码内伤
维护不易且实际开发需求中sql是有变化,频繁修改的情况多见
Hibernate和JPA
长难复杂SQL,对于Hibernate而言处理也不容易
内部自动生产的SQL,不容易做特殊优化。
基于全映射的全自动框架,大量字段的POJO进行部分映射时比较困难。导致数据库性能下降。
对开发人员而言,核心sql还是需要自己优化
sql和java编码分开,功能边界清晰,一个专注业务、一个专注数据。
很多公司在框架选型上都会拿mybatis和jpa两个持久层框架一起使用,jpa用来简单查询和新增修改是非常方便的,并且支持一对多关系。然后复杂的查询语句用mybatis来完成。
1.2
简化传统的JDBC
代码,能够实现自动化映射
简单,容易上手
大部分公司都在用
优点
:
简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个
jar
文件
+
配
置几个
sql
映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的
设计思路和实现。
灵活:
mybatis
不会对应用程序或者数据库的现有设计强加任何影响。
sql
写在
xml
里,
便于统一管理和优化。通过
sql
语句可以满足操作数据库的所有需求。
解除
sql
与程序代码的耦合:通过提供
DAO
层,将业务逻辑和数据访问逻辑分离,使系
统的设计更清晰,更易维护,更易单元测试。
sql
和代码的分离,提高了可维护性。
提供映射标签,支持对象与数据库的
orm
字段关系映射
提供对象关系映射标签,支持对象关系组建维护
提供
xml
标签,支持编写动态
sq