hibernate怎么改成mybatis?hibernate和mybatis有什么区别?

Hibernate 和 MyBatis 都是目前业界中主流的对象关系映射框架,所以在java开发中我们经常会使用它们,不过有时候我们需要将hibernate改成mybatis,那要怎么改呢?接下来我们就来给大家讲解一下这方面的内容。

hibernate怎么改成mybatis.jpg

hibernate改成mybatis需要做以下几件事:

1、implDao实现接口的地方要改,如:hibernate用的HibernateSessionFactory改成mybatis用的SqlSessionFactoryBean;

2、配置文件,两个:configuration.xml(把处理sql的配置文件放在里面,具体不太清楚);处理sql的配置文件;

3、spring的配置文件applicationContext.xml改好就成了,这里主要改dataSource和sessionFactory所要引用的类,其他基本一样;

hibernate和mybatis有什么区别?

1、开发方面

MyBatis 是一个半自动映射的框架,因为 MyBatis 需要手动匹配 POJO、SQL 和映射关系。(半自动ORM, 需要写sql并 配置对象之间的关系);

Hibernate 是一个全表映射的框架,只需提供 POJO 和映射关系即可。(全自动ORM 不需要写sql以java对象表示数据库关系, 自动完成sql的包装 还可以跨数据库 );

2、sql 优化方面

Hibernate 不需要编写大量的 SQL,就可以完全映射,提供了日志、缓存、级联(级联比 MyBatis 强大)等特性,此外还提供 HQL(Hibernate Query Language)对 POJO 进行操作。但会多消耗性能。

MyBatis 手动编写 SQL,支持动态 SQL、处理列表、动态生成表名、支持存储过程。工作量相对大些。 (优化工作比较方便);

3、数据库扩展性计较

Hibernate与数据库具体的关联在XML中,所以HQL对具体是用什么数据库并不是很关心

MyBatis由于所有sql都是依赖数据库书写的,所以扩展性、迁移性比较差。

虽然Hibernate与MyBatis都有相应的代码生成工具,但是两者的区别还是有的,所以我们在使用之前,需要了解它们的区别,更加有针对性的使用!最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。

推荐阅读:

hibernate怎么写sql?hibernate执行sql有哪些方式?

json的几种数据格式是什么?json数组如何入门?

qt安装哪个版本?Qt如何正确安装?