MyBatis is an incomplete ORM framework, because MyBatis needs programmers to write a lot of SQL, the programmer needs to master the SQL is relatively high, but MyBatis can through the XML file can be flexibly configured to run SQL statements, A good relational mapping of SQL and Java objects.
MyBatis Lower learning threshold, can strictly control the performance of SQL execution, flexibility, suitable for the relational data model requirements of software development, such as Internet software, enterprise operations software. Because the demand for such software varies rapidly and more. The premise of flexibility is that the database does not have a relationship, if you want to implement software that supports a variety of databases, you need to customize multiple sets of SQL mapping files, a lot of work.
Hibernate is a complete ORM framework, database-independent, suitable for high-relational data model software, can save a lot of code, improve efficiency. and Hibernate performance tuning requires a strong experience and ability.
In short, the user needs in a limited resource environment, as long as the maintenance and extensibility of the software architecture is a good architecture, the framework only the right is the best.
Mybatis&hibernate differences