jpa和mybatis的区别是什么?有哪些区别?

KLQ 2020-04-24 10:29:43 java常见问答 10185

前面给大家介绍了mybatis和hibernate的区别,那么下面要给大家介绍的就是jpa和mybatis的区别,一起来了解一下这两者之间究竟有什么区别吧!

在了解jpa和mybatis的区别之前,我们先来了解一下它们各自的概念。

一、什么是jpa

jpa其实就是Java Persistence API的缩写。jpa的中文名字叫做Java持久层API,jpa是JDK 5.0注解或者是XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

JPA的宗旨是为POJO提供持久化标准规范,JPA的总体思想和现有的JDO、TopLink、Hibernate等ORM框架总体上是一致的。

JPA具体包括了ORM映射元数据、API、查询语言三个方面的技术。

JPA作为JSR-220实现的一部分,不限于EJB3.0,你既可以在桌面应用中使用,也能够在Web应用。

上面给大家简单的介绍了一下jpa,下面就简单的来给大家介绍一下mybatis。

二、什么是mybatis

mybatis原来的名字叫做iBatis,但是,iBatis在被谷歌收下之后,名字就从iBatis更换成为了mybatis。

总的来说,MyBatis是支持普通SQL查询、存储过程和高级映射的优秀持久层框架。

MyBatis可以说基本上消除了所有的JDBC代码和参数的手工设置和结果集的检索。

结果集:是对象包含符合SQL语句中条件的所有行集合。

MyBatis最强大的特性之一就是它的动态语句功能。

注:单独的去使用mybatis还是会存在着很多限制的,例如,不能够实现跨越多个session的事务。

除去这个以外,很多业务系统都是使用spring来管理的事务,所以mybatis最好和spring集成起来使用,这样是最好的。

下面给大家简要的概括一下两者的区别

三、jpa和mybatis的区别

jpa:规范,各大ORM框架实现这个规范。

能够自动建表。

Mybatis:Mybatis并不是完整的ORM。它需要程序员们自己去编写全部的SQL。Mybatis是轻量级的框架,学习成本低,性能好控制。

不能够自动建表。

以上就是jpa和mybatis的区别介绍了。

很多人都想了解关于java方面的一些知识问答,那么大家可以通过奇Q工具网的常见问题栏目了解哦。