MyBatis简介
目录
- 简介
- MyBatis 历史
- MyBatis特点
- 为什么要使用 MyBatis?
- JDBC 缺点
- Hibernate 缺点
- MyBatis
简介
MyBatis 历史
MyBatis 原是 apache 的一个开源项目 iBatis;2010年6月这个项目由 apache software foundation 迁移到了 google code,并且改名为MyBatis 。
iBATIS 一词来源于 “internet” 和 “abatis” 的组合,是一个基于Java的持久层框架。
MyBatis特点
- MyBatis 是支持定制化 SQL、存储过程以及高级映射的持久层框架。
- MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
- MyBatis 可以使用简单的 XML 用于配置和原始映射,将接口的 POJO 类映射成数据库中的记录。
- 使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建 connection、创建 statement、手动设置参数、结果集检索等 jdbc 繁杂的过程代码。
为什么要使用 MyBatis?
JDBC 缺点
- SQL 语句夹在 Java 代码块里,耦合度高导致硬编码内伤。
- 维护不易且实际开发需求中 sql 有变化,频繁修改的情况多见。
- 要自己创建 connection、创建 statement、手动设置参数、结果集检索等。
Hibernate 缺点
- 长难复杂 SQL,对于 Hibernate 而言处理也不容易。
- 内部自动生产的 SQL,不容易做特殊优化。
- 基于全映射的全自动框架,javaBean 存在大量字段时无法只映射部分字段,导致数据库性能下降。
MyBatis
- 对开发人员而言,核心 sql 还是需要自己优化。
- MyBatis 是一个半自动化的持久层框架。
- MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。