【什么是Mybatis?】
MyBatis 是支持 普通 SQL 查询 , 存储过程 和 高级映射 的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录.
JDBC- 》dbutils- 》MyBatis- 》Hibernate
1.实现sql与Java编码分离。
2.sql由开发人员控制。
3.只需掌握sql。
【为什么使用Mybatis?】
1.Mybatis是一个半自动化的持久层框架。
2.JDBC:SQL夹在Java代码模块中,耦合度高导致硬编码内伤。维护不易且实际开发中SQL是有变化的,需要频繁更改。
3.Hibernate:长难复杂的SQL,对于Hibernate也不易处理。内部自动产生SQL,不易做特殊优化。基于全映射的全自动框架,大量字段的POJO进行部分映射时较困难。导致数据库性能下降。
4.对于开发人员,核心SQL还需要自己优化。SQL和Java代码分开,功能边界清晰,一个专注业务,一个专注数据。