简介
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs映射成数据库中的记录。
优点:
1、简单易学!我觉得这才是最重要的!
2、sql和Java编码分开,功能边界清晰,一个专注业务,一个专注数据。
3、提供xml标签,支持编写动态sql语句。
4、查询的结果集与java对象自动映射。
5、能够编写原生SQL,接近jdbc。
缺点:
1、个人感觉sql语句的编写工作量较大,这点就不如Hibernate方便快捷。
2、xml中用标签拼接动态sql时比较复杂。
3、xml中的语句不能直接debug,只能通过log4j打印输出日志从而调试。
与JDBC,Hibernate的区别
MyBatis :是一个半自动化的持久化层框架
JDBC
-sql 夹在JAVA代码块里,耦合度高导致硬编码内伤
-维护不易且实际开发需求中sql是有变化,频繁修改的情况多件
Hibernate
-长难复杂SQL,对于Hibernate处理不容易
-内部自动生产的SQL,不容易做特殊优化
-基于全映射的全自动框架,大量字段的POJO进行部分映射时比较困难,导致数据库性能下降。