我们都知道Spring是一个非常优秀的JavaEE整合框架,它尽可能的减少我们开发的工作量和难度。
在持久层的业务逻辑方面,Spring开源组织又给我们带来了同样优秀的Spring Data JPA。
通常我们写持久层,都是先写一个接口,再写接口对应的实现类,在实现类中进行持久层的业务逻辑处理。
而现在,Spring Data JPA帮助我们自动完成了持久层的业务逻辑处理,我们要做的,仅仅是声明一个持久层接口。
使用Spring Data JPA相当的简单,我们只需要定义持久层的接口,不需要编写实现代码。
步骤和注意点:
1)在spring配置文件中添加仓库接口的扫描路径 <jpa:repositories base-package="cn.luxh.app.repository"/>
2)编写领域实体,需要按照JPA规范
3)编写仓库Repository<T,ID>接口,依靠Spring Data规范定义接口方法。
比如按照规范定义一个数据访问接口方法 List<User> findByName(String name);
Spring Data JPA 就会自动转化为 select u from User u where u.name = ?1
可以使用的仓库接口有:
Repository: 是 Spring Data的一个核心接口,它不提供任何方法,开发者需要在自己定义的接口中声明需要的方法。
CrudRepository: 继承Repository,提供增删改查方法,可以直接调用。
PagingAndSortingRepository: 继承CrudRepository,具有分页查询和排序功能
JpaRepository: 继承PagingAndSortingRepository,针对JPA技术提供的接口
JpaSpecificationExecutor: 可以执行原生SQL查询
具体请看官网提供的资料: http://static.springsource.org/spring-data/data-jpa/docs/current/reference/html/