Springdatajpa是什么?有什么作用?

2020-04-25 10:44:43 java常见问答 10067

相信很多从事java软件开发行业的小伙伴应该都很或多或少的接触过jpa,这其实也是基于其优秀的兼容性,下面一起跟小编来看看Springdatajpa是什么呢?一般有什么用呢?

Springdatajpa的基本介绍如下所示:

JPA诞生的缘由其实是为了整合第三方ORM框架,建立的一种标准的方式,百度百科就是说JDK为了实现ORM的统一,目前也是在按照这个方向发展的,但是还没能完全实现。在ORM框架中,Hibernate是一支很大的部队,使用是很广泛的,也很方便,能力也很强,同时Hibernate也是和JPA整合的比较良好,我们可以认为JPA是标准,事实上也是,JPA几乎都是接口,实现都是Hibernate在做,宏观上面看,在JPA的统一之下Hibernate很良好的运行。

上面呢阐述了JPA和Hibernate的关系,那么Springdatajpa又是个什么东西呢?这地方需要稍微解释一下,我们做过Java开发的都知道Spring的强大,因为到目前为止,企业级应用Spring几乎是无所不能,无所不在的,已经是事实上的标准了,企业级应用不使用Spring的几乎没有,而Spring整合第三方框架的能力又比较强,他要做的不仅仅是个最早的IOC容器这么简单的一回事,现在Spring涉及的方面太广了,主要是体现在和第三方工具的整合上。而在与第三方整合这方面呢,Spring做了持久化这一块的工作,个人的感觉是Spring希望把持久化这块内容也拿下。于是就有了Spring-data-**这一系列包。包括像,Springdatajpa,Spring-data-template,Spring-data-mongodb,Spring-data-redis,还有个民间产品,mybatis-spring,和前面类似,这是和mybatis整合的第三方包,这些都是干的持久化工具干的事儿。

这里介绍Springdatajpa,其实表示与jpa的整合。我们都了解,在使用持久化工具的时候,一般都有一个对象来操作数据库,在原生的Hibernate中叫做Session,在JPA中叫做EntityManager,在MyBatis中叫做SqlSession,通过这个对象来操作数据库。我们一般就按照三层结构来看的话,Service层做业务逻辑处理,Dao层和数据库打交道,在Dao里面,就存在着上面的对象。那么呢ORM框架本身提供的功能有什么呢?答案其实是基本的CRUD,所有的基础CRUD框架都提供,我们使用起来感觉很方便,很给力,业务逻辑层面的处理ORM是没有提供的,如果使用原生的框架,业务逻辑代码我们一般会自定义,会自己去写SQL语句,然后去执行。在这个时候,Springdatajpa的厉害就体现出来了,ORM提供的能力他都提供,ORM框架没有提供的业务逻辑功能Springdatajpa也是提供的,全方位的解决用户的需求。使用Springdatajpa进行开发的过程中,常用的功能,我们几乎不需要写一条sql语句,至少在我看来,企业级应用基本上可以不用写任何一条sql,当然Springdatajpa也提供自己写sql的方式。

那么以上就是有关Springdatajpa的所有内容了,如果你还想了解更多java架构师有关信息,那么记得关注本站信息哦,更多精彩内容等你来获取。