【Mybatis】Mybatis介绍
1.Mybatis历史
团队:Apache->Google
名称:iBatis->Mybatis
Mybatis是一个基于Java的持久层框架,封装了JDBC。
2.Mybatis特性
① 支持定制化SQL、存储过程以及高级映射。
② 避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
③ 可以使用xml配置文件或注解用于配置和映射,将接口和Java的POJO(对象)映射成数据库中的记录。
④ 是一个半自动ORM框架。
ORM:数据库表->Java类,数据库一条记录->Java对象,数据库表的列->Java对象属性
3.Mybatis下载
官网:https://github.com/mybatis/mybatis-3
4.和其他持久化层技术对比
- JDBC
- SQL夹杂在Java代码中耦合度高,导致硬编码内伤。
- 维护不易且实际开发中需求中SQL有变化,频繁修改的情况多见。
- 代码冗长,开发效率低。
- hibernate和JPA
- 操作简便,开发效率高。
- 程序中的长难复杂SQL需要绕过框架。
- 内部自动生产的SQL,不容易做特殊优化。
- 基于全映射的全自动化框架,大量字段的POJO进行部分映射的比较困难。
- 反射操作太多,导致数据库性能下降。
- Mybatis
- 轻量化,性能出色
- SQL和Java编码分开,功能边界清晰,Java代码专注业务,SQL语句专注数据。
- 开发效率稍逊于Hibernate,但是完全能够接受。