1.优点
(1)简单易学,容易上手(针对hibernate),一个是全自动ORM一个是半自动ORM,基于SQL编程。
(2)与JDBC相比减少50%的代码量,消除冗余代码,不需要手动开关链接。
(3) 与各种数据库兼容,mybatis使用jdbc链接数据库,jdbc连接的数据库,mybatis都可以连接。开发不需要考虑数据库间的差异性。
(4) 提供第三方插件(分页插件、逆向工程);逆向工程使得mybatis向全自动ORM发展。
(5) 能够与spring很好的结合。(配置文件、纯注解)
(6) Mybatis 相当灵活,不会对应用程序或数据库现有的设计强加任何影响,SQL语句写在XML文件里,与程序彻底分离,解除sql语句与程序代码的耦合度,便于统一化管理,并可重用。
(7) 提供映射标签,支持对象关系组建维护(<resultmap>、@resultmap)。
2.缺点
(1) sql语句的编写工作量大,尤其在字段多、多表关联的情况下,要求sql功底。即使在mybatis+中多表查询也需编写大量sql语句。
(2) SQL语句依赖于数据库,数据库移植性差,不能随意更换数据库。