Mybatis 是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。
Mybatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
Mybatis 可以使用简单的 XML 或 注解 来配置和映射原生信息,将接口和 Java 的POJO映射成数据库的记录。
Mybatis 的优点
-
简单小巧易于上手,方便浏览修改 SQL 语句
-
接触 SQL 与程序代码的耦合
-
提供映射标签,支持对象与数据库的 ORM 字段关系映射
-
提供 XML 标签,支持编写动态 SQL
为什么要使用 Mybatis?
-
Mybatis 是一个 半自动化 的持久化层框架。
-
对于 JDBC 来说有如下的几个缺点
-
SQL 夹在 Java 代码块里,耦合度高导致硬编码内伤
-
维护不易且实际开发需求中 SQL 是有变化的,频繁修改的情况是多见的
-
-
Hibernate 和 JPA
-
长难复杂 SQL, 对于 Hibernate 而言处理也不容易
-
内部自动生产的 SQL,不容易做特殊优化
-
基于全映射的全自动框架,大量字段的POJO进行部分映射比较困难,从而导致数据库性能下降。
-
-
对开发人员来说,核心 SQL 还是需要自己优化。
-
SQL 和 Java 编码分开,功能边界清晰,一个专注业务,一个专注数据。