Mybatis Hibernate->MyBatis

时间:2022-06-01 10:03:56

  Hibernate对JDBC的封装程度比较高,不需要编写SQL(Structured Query Language)语句,只要使用HQL(Hibernate Query Language)语言就可以了。Hibernate模型的开发过程见下图:

  Mybatis Hibernate->MyBatis

  

  与传统的JDBC相比,Hibernate的优势如下:

  通过XML或注解的配置实现映射,无需管理数据库连接。

  一个会话中,只要操作Session对象即可。释放资源时只需要关闭Session。

  ......

  

  Hibernate的缺陷如下:

  全表映射,HQL性能较差,无法优化SQL语句。

  不能有效支持存储过程。

  

  所以,建议使用半自动映射框架MyBatis。之所以称它为半自动,是因为它需要手动提供POJO、SQL和映射关系。而全表映射的Hibernate只需要提供POJO和映射关系。

  参考资料

  《深入浅出MyBatis技术原理与实战》