江协伟吧 关注:15贴子:284
  • 6回复贴,共1

spring data jpa 简单使用记录

只看楼主收藏回复

防吞


IP属地:浙江1楼2018-03-08 13:33回复
    该楼层疑似违规已被系统折叠 查看此楼


    IP属地:浙江2楼2018-03-08 13:35
    回复(2)
      spring data jpa
      Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!spring data jpa让我们解脱了DAO层的操作,基本上所有CRUD都可以依赖于它来实现在实际开发过程中,对数据库的操作无非就“增删改查”。就最为普遍的单表操作而言,除了表和字段不同外,语句都是类似的,开发人员需要写大量类似而枯燥的语句来完成业务逻辑。为了解决这些大量枯燥的数据操作语句,我们第一个想到的是使用ORM框架,比如:Hibernate。通过整合Hibernate之后,我们以操作Java实体的方式最终将数据改变映射到数据库表中。为了解决抽象各个Java实体基本的“增删改查”操作,我们通常会以泛型的方式封装一个模板Dao来进行抽象简化,但是这样依然不是很方便,我们需要针对每个实体编写一个继承自泛型模板Dao的接口,再编写该接口的实现。虽然一些基础的数据访问已经可以得到很好的复用,但是在代码结构上针对每个实体都会有一堆Dao的接口和实现。由于模板Dao的实现,使得这些具体实体的Dao层已经变的非常“薄”,有一些具体实体的Dao实现可能完全就是对模板Dao的简单代理,并且往往这样的实现类可能会出现在很多实体上。Spring-data-jpa的出现正可以让这样一个已经很“薄”的数据访问层变成只是一层接口的编写方式。比如,下面的例子:public interface UserRepository extends JpaRepository<User, Long> { User findByName(String name); @Query("from User u where u.name=:name") User findUser(@Param("name") String name); }我们只需要通过编写一个继承自JpaRepository的接口就能完成数据访问,下面以一个具体实例来体验Spring-data-jpa给我们带来的强大功能。


      IP属地:浙江3楼2018-03-08 13:37
      收起回复
        附录参考链接:
        Spring Data JPA 查询方法支持的关键字:http://www.cnblogs.com/BenWong/p/3890012.html
        Spring data jpa批量插入和更新:http://blog.csdn.net/wangshfa/article/details/27323297
        Spring Boot中使用Spring-data-jpa: http://blog.csdn.net/pdw2009/article/details/51115044(简洁)
        http://www.jianshu.com/p/38d27b633d9c
        http://www.cnblogs.com/ityouknow/p/5891443.html (最详细,包括多种查询)
        Spring Boot下基于JPA抓取SQL运行时的参数值:http://blog.csdn.net/blueheart20/article/details/52382052


        IP属地:浙江4楼2018-03-08 13:41
        回复