前面给大家介绍了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工具网的常见问题栏目了解哦。