Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架(即上述的:JPA的实现产品),可以使开发者用极简的代码便可实现对数据的访问和操做。它提供了包括增删改查等在内的经常使用功能,且易于扩展!学习并使用 Spring Data JPA 能够极大提升开发效率!java
spring data jpa让咱们解脱了DAO层的操做,基本上全部CRUD(增长(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete))均可以依赖于它来实现spring
总结:springdatajpa让咱们访问数据库更加方便。sql
2.springdatajpa怎么访问数据库数据库
有两种方式框架
基本查询也分为两种,一种是spring data默认已经实现,一种是根据查询的方法来自动解析成SQL。学习
spring data jpa 默认预先生成了一些基本的CURD的方法,例如:增、删、改等等spa
1写一个类 继承JpaRepositorycode
public interface HelloRepository extends JpaRepository<User, Long> { }
其实Spring data 觉大部分的SQL均可以根据方法名定义的方式来实现,可是因为某些缘由咱们想使用自定义的SQL来查询,spring data也是完美支持的;在SQL的查询方法上面使用@Query
注解,如涉及到删除和修改在须要加上@Modifying
.也能够根据须要添加 @Transactional
对事物的支持,查询超时的设置等blog
@Modifying @Query("update User u set u.userName = ?1 where c.id = ?2") int modifyByIdAndUserId(String userName, Long id); @Transactional @Modifying @Query("delete from User where id = ?1") void deleteByUserId(Long id); @Transactional(timeout = 10) @Query("select u from User u where u.emailAddress = ?1") User findByEmailAddress(String emailAddress);