MyBatis是一个Java的持久层框架,和Hibernate同样,都是ORM框架。sql
MyBaits的前身是iBatis,能够将数据库中记录映射为pojo,是开发人员以面向对象编程的思想来操做数据库。数据库
MyBatis消除了几乎全部的JDBC代码、参数的手动设置、对结果集的检索,开发人员只须要使用xml进行简单的配置、映射,就能够操做数据库。编程
ORM,Object Relational Mapping 对象关系映射,对象指的是pojo,关系指的是关系型数据库中的表、记录。app
经常使用的ORM框架包括MyBatis、Hibernate。框架
Hibernate是一个全表映射框架,开发者只需定义映射关系、pojo,Hibernate会自动生成对应的sql语句、操做数据库的方法,咱们使用Hibernate提供的方法操做持久层就ok,不须要熟练掌握sql,也不须要编写大量的代码,开发效率要高于MyBatis。性能
但Hibernate对多表关联查询支持较差,更新操做须要发送整个pojo对象(全部字段),不支持储存过程,不能经过优化sql来提升性能。优化
Hibernate适合场景不复杂、对性能要求不高的项目。xml
MyBatis是一个半自动映射框架,除了要定义映射关系、pojo,还须要本身写sql语句,工做量要比HIbernate大。对象
但MyBatis能够配置动态sql,能够自定义映射规则,支持存储过程,能够经过优化sql来提升性能。blog
对复杂、对性能有要求的项目来讲,使用MyBatis更合适。