spring-data-jpa简单介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jnshu_it/article/details/84372462

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能,本篇分享的是:

【spring-data-jpa简单介绍】

【修真院Java小课堂】spring-data-jpa简单介绍

开场语:

大家好,我是IT修真院北京分院第32期的学员廖友,一枚正直纯洁善良的Java程序员,今天给大家分享一下,修真院官网Java任务十中的知识点——spring-data-jpa简单介绍

一、背景介绍:

1、Spring Data是什么?

Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问技术,包括关系数据库、非关系数据库、Map-Reduce 框架、云数据服务等等。

2、什么是JPA?

JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

二、知识剖析:

1、Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

2、Hibernate的优缺点

Hibernate优点:面向对象、有更好的移植性、开发的效率高。

Hibernate缺点:运行效率慢、结构臃肿、JPQL/HQL存在硬伤。

使用建议:建议Hibernate用在用户量不大,或需要敏捷开发的企业级应用;互联网项目慎用、慎用、慎用。

3、基本操作CRUD

编写接口继承jpaRepository,则可以直接调用接口中的方法完成crud操作

4、JPA数据查询

使用JPQL语言编写查询语句

5、关系映射Mapping

将数据库中的表字段映射成Java对象中的属性。

三、编码实战

四、参考文献:

[1]https://www.ibm.com/developerworks/cn/opensource/os-cn-spring-jpa/index.html

[2]http://blog.51cto.com/12348890/2092279

[3]https://www.cnblogs.com/cmfwm/p/8109433.html

五、更多讨论:

Q1:可以基于mybatis使用JPA进行crud吗?

A1:不能,mybatis不是jpa规范的实现,只有jpa规范的实现才可以使用JPA进行数据操作。

Q2:Hibernate的移植性体现在什么地方?

A2:不同数据库厂商的sql语句是有区别的,Hibernate对不同厂商的sql语句进行了封装,使得它能兼容目前主流的数据库,即我们使用JPQL编写的语句,可以在不同的数据库上进行操作。

Q3:为什么在互联网项目中慎用hibernate?

A3:因为hibernate对sql语句进行了封装,使得我们不好对sql进行优化,而使用hibernate自己生成的sql语句,运行效率低,无法应对高并发的场景。

六、结束语:

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

PPT链接 视频链接

更多内容,可以加入IT交流群565734203与大家一起讨论交流

这里是技能树·IT修真院:https://www.jnshu.com,初学者转行到互联网的聚集地

猜你喜欢

转载自blog.csdn.net/jnshu_it/article/details/84372462