Hibernate与MyBatis都是ORM工具,实现解放程序员的JDBC访问。
Hibernate 它是高集成的ORM工具,它会根据数据库类型,自动创建SQL语句。
用它的好处是,表定义的变化,对程序影响较小。你只要在XML映射文件中调整,修改POJO类就可以了。
而Mybatis,你就需要修改 Pojo类,Dao接口,和Mapper.xml 中的各个SQL语句。
Hibernate它有HQL查询语言,通过POJO类查询,而不是通过字段。
Mybatis 需要通过 Mapper中定义的 Select来进行查询。
但是 hibernate对复杂查询就比较麻烦,比如Join 了5个,10个表。由于HQL是自动生成SELECT,因此,它的查询语言的性能可能比不上自己写的SQL语言。
而Mybatis正是有这个优点,所有SQL语句用开发者自己决定。