SpringDataJpa入门

大家好,我是IT修真院上海分院第6期学员,一枚正直善良的JAVA程序员。

今天给大家分享一下,SpringDataJpa的基本知识。

一、背景介绍

    JPA(Java Persistence API)是Sun官方提出的Java持久化规范。JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。

    JPA的出现主要是为了简化持久化开发工作和整合ORM技术,结束Hibernate,TopLink,JDO等ORM框架各自为营的局面。

    JPA的出现只是用于规范现有的ORM技术,它不能取代Hibernate,TopLink等ORM框架。相反,在使用JPA开发时,我们仍将使用到这些ORM框架,只是此时的应用不再依赖于某个持久化提供商。应用可以在不修改代码的情况下在任何JPA环境下运行,真正做到低耦合,可扩展的程序设计。

    Spring data jpa的目标是简化关于各种持久存储数据访问层,它极大的简化了JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作,还包括分页、排序等一些基本的功能。

    它不算是新的ORM框架,具体使用哪种ORM框架还是由开发者决定,默认是Hibernate

二、知识剖析

JPA包括以下3方面的技术:

1、ORM映射元数据

JPA支持XML和JDK5.0注释(也可译作注解)两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中。

2、Java持久化API

用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者可以从繁琐的JDBC和SQL代码中解脱出来。

3、查询语言(JPQL)

这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。

三、常见问题及解决方案

JPA的复杂查询


四、编码实战

五、拓展思考

基于Hibernate的JPA实现和Mybatis的差别?

1、mybatis官方文档就说了他是一个半自动化的持久层框架,相对于全自动化的 hibernate 他更加的灵活、可控

2、mybatis 的学习成本低于 hibernate。hibernate 使用需要对他有深入的理解,尤其是缓存方面,作为一个持久层框架,性能依然是第一位的。

3、传统公司需求迭代速度慢,项目改动小,hibernate可以帮他们做到一劳永逸。互联网公司追求快速迭代,需求快速变更,灵活的 mybatis 修改起来更加方便,而且一般每一次的改动不会带来性能上的下降,hibernate经常因为添加关联关系或者开发者不了解优化导致项目越来越糟糕。

六、参考文献

http://www.spring4all.com/article/500

七、更多讨论


PTT连接:

视频连接:

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

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~

直接点击此连接:http://www.jnshu.com/login/1/10985551



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值